Я использую PHP / codeigniter, и, как правило, для запроса результатов запроса я бы сделал что-то вроде этого:
<?php foreach($data as $row):?> //html goes here <?php endforeach;?>
Но, скажем, у меня есть еще один массив объектов $data2
с тем же количеством объектов, что и $data
: существует ли какой-либо допустимый синтаксис PHP, который позволил бы мне одновременно обращаться к rows
на обоих объектах в одном цикле с использованием инструкции foreach
? Я знаю, что могу сделать это с помощью регулярного цикла, обратившись к массивам массивов, но это будет не так чисто.
Вы могли бы что-то вроде этого:
<?php foreach($data as $key => $row): $row2 = $data2[$key]; ?> //html goes here <?php endforeach;?>
Это позволит вам одновременно объединить оба массива.
Я считаю, что индексы – ваш лучший выбор. Это было бы странной особенностью языка, потому что, как правило, вы не знаете, что два массива имеют одинаковый размер и что вы делаете, когда один заканчивается перед другим?
Возможно, вы могли бы реорганизовать код таким образом, чтобы вместо $ data и $ other array у вас был единственный массив, чьи записи были ассоциативным массивом с -> данными и -> другими членами. Но это нужно делать только в том случае, если это имеет смысл в модели данных. ИМХО, зацикливание по индексу в этом случае прекрасное.