使用PHP foreach如何在一次foreach中只获得前9个结果,而在另一次foreach中只获得后9个结果?
比如
foreach {$ stores [1 - 9] as $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];
}