Используя PHP foreach, как получить только первые 9 результатов в одном foreach и только во втором 9 в другом.
Что-то вроде
foreach {$ stores [1 – 9] как $ shop) {
foreach {$shops[10 - 18] as $shop) {
Есть идеи?
дивный
Использовать array_slice()
:
foreach(array_slice($shops,0,9) as $shop){ // etc. } foreach(array_slice($shops,9,9) as $shop){ // etc. }
Вместо этого используйте цикл for
?
for (int $i = 0; $i < 9; $i++) { $shop = $shops[$i]; }
Тогда вы можете сделать другое с $i = 10..19
. Если вы должны использовать foreach
то есть счетчик, который вы увеличиваете и break;
или используйте array_slice
как предложили другие.
Как насчет
foreach (array_slice($shops, 0, 9) as $shop) { ... }
а также
foreach (array_slice($shops, 9, 9) as $shop) { ... }
??
foreach (array_chunk($shops, 9) as $section) { // Do some logic on each section foreach ($section as $shop) { // Do some logic on each shop } }
используя array_slice, вы можете разделить свой массив на два, тогда вы можете сделать это
$my_array = array('1','2',...,'18'); $first_array = array_slice($my_array,0,9); $second_array = array_slice($my_array,9,18);
Вместо этого используйте цикл for
.
for ($i = 0; $i < 9; $i++) { $shop = $shops[$i]; } for ($i = 9; $i < 18; $i++) { $shop = $shops[$i]; }