Как я прохожу через следующий массив с foreach, поэтому он печатается следующим образом:
Product1 date1 time1 product2 date2 time2 product3 date3 time3 product4 date4 time4
Я боролся и боролся, я пробовал двойные предвидения и т. Д., Но почему-то я не могу заставить его работать …
Может ли кто-нибудь объяснить это мне?
Array ( [product] => Array ( [0] => product1 [1] => product2 [2] => product3 [3] => product4 ) [date] => Array ( [0] => date1 [1] => date2 [2] => date3 [3] => date4 ) [time] => Array ( [0] => time1 [1] => time2 [2] => time3 [3] => time4 ) )
Что-то вроде этого должно работать:
$count = count($data['product']); for ($i = 0; $i < $count; $i ++) { echo $data['product'][$i] . ' ' . $data['date'][$i] . ' ' .$data['time'][$i] . '<br />'; }
Чтобы добавить к нему проверку / целостность данных (чтобы остановить undefined index
ошибки undefined index
), также проверьте, существует ли каждый индекс в субмассивах:
$count = count($data['product']); for ($i = 0; $i < $count; $i++) { $date = isset($data['date'][$i]) ? ' ' . $data['date'][$i] : ''; $time = isset($data['time '][$i]) ? ' ' . $data['time '][$i] : ''; echo $data['product'][$i] . $date . $time . '<br />'; }
просто
<?php foreach($array['product'] as $num => $prod){ echo $prod." ".$array['date'][$num]." ".$array['time'][$num]; } ?>