Проверьте, совпадают ли две вары в многомерном массиве в одном массиве - PullRequest
0 голосов
/ 03 августа 2020

У меня есть многомерный массив, который выглядит примерно так:

array(4) {
  [0]=>
  array(3) {
    ["rowid"]=>
    int(3)
    ["columnid"]=>
    int(5)
    ["seattype"]=>
    int(10)
  }
  [1]=>
  array(3) {
    ["rowid"]=>
    int(3)
    ["columnid"]=>
    int(6)
    ["seattype"]=>
    int(10)
  }
  [2]=>
  array(3) {
    ["rowid"]=>
    int(3)
    ["columnid"]=>
    int(7)
    ["seattype"]=>
    int(10)
  }
  [3]=>
  array(3) {
    ["rowid"]=>
    int(3)
    ["columnid"]=>
    int(8)
    ["seattype"]=>
    int(10)
  }
  [4]=>
  array(3) {
    ["rowid"]=>
    int(3)
    ["columnid"]=>
    int(9)
    ["seattype"]=>
    int(10)
  }
}

Массив называется SeatDec. Теперь у меня есть два предварительных цикла, они чередуются:

for ($i = 0; $i < $seatplan->rowcount; $i++){
  echo '<tr>';
    for($j = 0; $j < $seatplan->columncount; $j++){
      echo '<td>ttt</td>';
    }
  </tr>
}

Теперь я хочу проверять при каждой покупке j, существует ли одновременно комбинация i => rowid и j => columnid и если да, то я хочу получить тип сиденья.

$seattype = in_array($i,$J) .

Вот оно у меня висит, есть ли решение?

1 Ответ

0 голосов
/ 04 августа 2020

Один из способов может быть:

// reindex your seatDec array.
// Key will be a combination of `rowid-columnid` and value will be `seattype`:
$SeatDec = [....];
$newSeatDec = [];
foreach ($SeatDec as $item) {
    $newSeatDec[$item['rowid'] . '-' . $item['columnid']] = $item['seattype']
}

// now iterate and check if `$i-$j` key isset in `$newSeatDec`
for ($i = 0; $i < $seatplan->rowcount; $i++) {
    echo '<tr>';
    for($j = 0; $j < $seatplan->columncount; $j++) {?>
        echo '<td>' . ($newSeatDec[$i . '-' . $j] ?? '-' ) . '</td>';
    }
    echo '</tr>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...