这是我的array
和foreach
:
$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个元素)没有优化,所以还有更好的方法吗?
答案 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>";
}