如何限制foreach中的值赋值?

时间:2015-08-29 10:19:20

标签: php if-statement foreach

这是我的arrayforeach

$colors = array("red", "green", "blue", "yellow"); 

foreach ($colors as $value) {
    echo "$value <br>";
}

我只需要分配前三个键,我想要这个输出:

red
green
blue

我可以这样做:

$i=1;
foreach ($colors as $value) {
    if ($i=4){break;}
    echo "$value <br>";
    $i++;
}

但我认为在循环中使用if()语句(实际上我的数组有超过100个元素)没有优化,所以还有更好的方法吗?

4 个答案:

答案 0 :(得分:2)

您可以使用array_slice()。 这是一个例子:

foreach (array_slice($colors,0,3) as $value) {
    echo "$value <br>";
}

答案 1 :(得分:2)

您可以将循环更改为for循环并计数到长度-1

for($i=0;$i<count($colors)-1;$i++){
  //do stuff
  }

答案 2 :(得分:2)

For循环仅取前3个值,并相应打印。

<?php
for($i=0;$i<3;$i++) //First 3 values will be considered.
{
$color=$colors[$i];
echo $color;
}?>

答案 3 :(得分:1)

你可以使用范围功能:

foreach(range(0,2) as $key) {
echo $colors[$key] . "<br>";
}