PHP:限制 foreach() 语句?[已关闭]

2022-08-30 11:03:22

如何限制 foreach() 语句?说我只想让它运行前2个“每个”或什么?


答案 1

有很多方法,一种是使用计数器:

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

另一种方法是对前2个元素进行切片,但这效率不高:

foreach (array_slice($arr, 0, 2) as $k => $v) {
    /* Do stuff */
}

你也可以做这样的事情(基本上与第一个foreach相同,但与for一样):

for ($i = 0, reset($arr); list($k,$v) = each($arr) && $i < 2; $i++) {
}

答案 2

您可以使用

break;

foreach() if ($tmp++ < 2) {
}

(第二种解决方案更糟)


推荐