我正在尝试创建一个php foreach语句,为前5次迭代输出不同的代码,然后为其余的输出执行不同的输出。
我找到了这个片段,它在给定的限制下休息,但是如何在另一个foreach循环的最后一次迭代中继续?无论如何,这可能不是最佳方式。
$i = 0;
foreach ($arr as $k => $v) {
/* Do stuff */
if (++$i == 2) break;
}
这可能吗?我该怎么做呢?
谢谢! Zeem
答案 0 :(得分:4)
您可以使用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 */
}
答案 1 :(得分:0)
你想找点像......?
$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++;
}
答案 2 :(得分:0)
$i = 0;
foreach ($arr as $k => $v) {
if ($i < 5) {
/* do stuff */
} else {
/* other stuff */
}
$i++;
}
答案 3 :(得分:0)
我假设你的数组不是关联的,而且$ k将是数字索引。如果不是这样的话,你需要你的$ i。
foreach ($arr as $k => $v) {
if ($k < 5) {
Do stuff
} else {
Do other stuff
}
}