在迭代中途在foreach中执行更改代码

zee*_*y23 3 php foreach

我正在尝试创建一个php foreach语句,该语句在前5个迭代中输出不同的代码,然后为其余的输出提供不同的输出。

我找到了该代码段,该代码段在给定的极限处中断了,但是如何从另一个foreach循环的最后一次迭代继续呢?无论如何,这可能不是最好的方法。

 $i = 0;
foreach ($arr as $k => $v) {
    /* Do stuff */
    if (++$i == 2) break;
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?我将如何处理?

谢谢!Zeem

lon*_*day 5

您可以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 */
}
Run Code Online (Sandbox Code Playgroud)