rek*_*o_t 86
有很多方法,一种是使用计数器:
$i = 0;
foreach ($arr as $k => $v) {
/* Do stuff */
if (++$i == 2) break;
}
Run Code Online (Sandbox Code Playgroud)
其他方式是切片前2个元素,但效率不高:
foreach (array_slice($arr, 0, 2) as $k => $v) {
/* Do stuff */
}
Run Code Online (Sandbox Code Playgroud)
你也可以做这样的事情(基本上与第一个foreach相同,但是为了):
for ($i = 0, reset($arr); list($k,$v) = each($arr) && $i < 2; $i++) {
}
Run Code Online (Sandbox Code Playgroud)
Val*_*lev 38
你可以使用
break;
Run Code Online (Sandbox Code Playgroud)
要么
foreach() if ($tmp++ < 2) {
}
Run Code Online (Sandbox Code Playgroud)
(第二种解决方案更糟)
Rag*_*geZ 18
你应该使用break语句
通常它是这样使用的
$i = 0;
foreach($data as $key => $row){
if(++$i > 2) break;
}
Run Code Online (Sandbox Code Playgroud)
以相同的方式,如果您需要跳过某些项目,则存在continue语句.
在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
}
Run Code Online (Sandbox Code Playgroud)
发电机摇滚.
小智 6
这对我来说是最好的解决办法:)
$i=0;
foreach() if ($i < yourlimitnumber) {
$i +=1;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
132977 次 |
| 最近记录: |