PHP:限制的foreach()语句? [关闭](PHP: Limit foreach() st

2019-09-03 10:08发布

如何限制一个foreach()语句? 说我只希望它运行第2“eaches”的东西?

Answer 1:

您可以使用

break;

要么

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

(第二溶液是更差)



Answer 2:

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

$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 ($i = 0, reset($arr); list($k,$v) = each($arr) && $i < 2; $i++) {
}


Answer 3:

你应该用破声明

通常是用这样的方式

$i = 0;
foreach($data as $key => $row){
    if(++$i > 2) break;
}

在同样的方式继续 ,如果你需要跳过一些项目语句存在。



Answer 4:

在PHP 5.5及更高版本,你可以做

function limit($iterable, $limit) {
    foreach ($iterable as $key => $value) {
        if (!$limit--) break;
        yield $key => $value;
    }
}

foreach (limit($arr, 10) as $key => $value) {
    // do stuff
}

发电机的岩石。



Answer 5:

这对我来说是最好的解决办法:)

$i=0;
foreach() if ($i < yourlimitnumber) {

$i +=1;
}


文章来源: PHP: Limit foreach() statement? [closed]