如何限制一个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]