Intereting Posts
Как лучше всего преобразовать данные формы выбора даты CakePHP в объект PHP DateTime? preg_match и (не английские) латинские символы? Websocket – клиент не получает данные Предупреждение: недопустимое смещение строки в PHP 5.4 Почему временные метки имеют ограничение до 2038? phpmailer ERROR: не удалось создать почтовую функцию Как я могу получить изображение с URL-адреса в PHP или JQuery или в обоих? Извлеките фиксированное количество символов из массива, просто полные слова Может ли кто-нибудь подробно описать функцию индексации Magentos? CakePHP: сообщение проверки не отображается PHP round time () вверх (будущее) до следующего кратного 5 минут Выберите строки из таблицы MySQL, где временная метка PHP старше X доктрина 2.2 и кодифицирующий код 2.1 Уменьшение использования памяти для массива и SplFixedArray window.onbeforeunload не должно работать при обновлении страницы нажатием кнопки

PHP foreach loop на нескольких объектах?

Я использую 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 у вас был единственный массив, чьи записи были ассоциативным массивом с -> данными и -> другими членами. Но это нужно делать только в том случае, если это имеет смысл в модели данных. ИМХО, зацикливание по индексу в этом случае прекрасное.