我正在尝试创建一个 php foreach 语句,该语句为前 5 次迭代输出不同的代码,然后为其余部分执行不同的输出。
我找到了这个片段,它在给定的限制下中断,但我如何从另一个 foreach 循环的最后一次迭代继续? 无论如何,这可能不是最好的方法。
$i = 0;
foreach ($arr as $k => $v) {
/* Do stuff */
if (++$i == 2) break;
}
这可能吗? 我该怎么做?
谢谢!泽姆
您可以使用array_slice
来实现此目的:
foreach (array_slice($arr, 0, 5, true) as $k => $v) {
/* Do stuff 1-5 */
}
foreach (array_slice($arr, 5, null, true) as $k => $v) {
/* Do stuff 6-end */
}
你在寻找类似的东西吗?
$i = 0;
foreach ($var as $k => $v) {
if ($i < 5) {
// do something here for the first five iterations
}
else {
// do something else here for further iterations
}
$i++;
}
$i = 0;
foreach ($arr as $k => $v) {
if ($i < 5) {
/* do stuff */
} else {
/* other stuff */
}
$i++;
}
我假设你的数组不是关联的,并且$k将是数字索引。如果不是这种情况,您将需要$i。
foreach ($arr as $k => $v) {
if ($k < 5) {
Do stuff
} else {
Do other stuff
}
}