У меня есть несколько вложенных циклов и несколько массивов, которые я хочу перебирать одновременно.
Теперь первый массив содержит данные в некотором хаотическом c порядке:
ArrayOne (
[1298] => Array (
[manuf comment for dev 1] => Array (
[comment 1 for IMEI no. 277745.5] => 1298
)
)
[1312] => Array (
[0] => Array (
[comment 3 for IMEI no. 570] => 1312
)
)
[1318] => Array (
[0] => Array (
[comment 2 for IMEI no.576] => 1318
)
)
)
Как вы можете видеть выше, есть три массива (я знаю, что они выглядят странно, но так они установлены, и я не могу их изменить).
следующий массив:
ArrayTwo ( [0] => 1321 [1] => 1322 [2] => 1323 )
Важное примечание: длина ArrayOne
и ArrayTwo
ВСЕГДА будет одинаковой. Итак, если ArrayOne
содержит ТРИ массива, ArraTwo
будет содержать внутри ТРИ значения.
Я повторяю теперь вот так:
foreach ($ArrayOne as $devices_id => $manuf_comments) {
foreach ($manuf_comments as $mc => $client_comments) {
foreach ($client_comments as $cl => $ff) {
echo "</br>MANUF COMMENTS: ";
print_r($mc);
echo "</br>DEV comments: ";
print_r($cl);
echo "</br>DEV id: ";
print_r($devices_id);
echo "</br>*";
}
}
}
l oop выше печатает:
MANUF COMMENTS: manuf comment for dev 1
DEV comments: comment 1 for IMEI no. 277745.5
DEV id: 1298
*
MANUF COMMENTS: 0
DEV comments: comment 3 for IMEI no. 570
DEV id: 1312
*
MANUF COMMENTS: 0
DEV comments: comment 2 for IMEI no.576
DEV id: 1318
*
Как вы можете видеть, используя вложенный foreach, я могу правильно распечатать значения ArrayOne
, однако, если я попытаюсь ввести l oop через ArrayTwo
внутри этих циклов foreach, он будет go 3 раза, потому что в ArrayOne
три массива. Итак, вопрос в том, как я могу правильно пропустить oop через ArrayTwo
внутри существующих циклов for?