在数组中显示偶数指数

时间:2016-05-05 17:06:36

标签: php for-loop

我试图仅显示数组的偶数指数,但它不起作用。

这是我的代码:

$color = array( "Red", "Pink", "Blue", "Baby Blue", "Green", "Lime", "Gray", "Sunshine");

for ($i = 0; $i < count($color); $i++) {
     if ($color[$i] % 2 === 0) {
        echo "$i is $color";
     }
}

我做错了什么?

3 个答案:

答案 0 :(得分:4)

更简单的方法是在for循环中添加两个而不是一个。

for ($i = 0; $i < count($color); $i+=2) {
    echo "$i is $color[$i]";
}

答案 1 :(得分:1)

您的问题主要在第4行和部分第5行:

$color = array( "Red", "Pink", "Blue", "Baby Blue", "Green", "Lime", "Gray", "Sunshine");

for ($i = 0; $i < count($color); $i++) {
     if ($i % 2 === 0) { // <- here
        echo "$i is ".$color[$i];
     }
}

您的代码基本上等同于:

if ('Red' % 2 === 0) { // with every single color

由于您使用的是索引数组,另一种实现所需内容的方法是:

foreach ($color as $k=>$v) {
     if ($k % 2 === 0) {
        echo "$k is $v";
     }
}

答案 2 :(得分:0)

您忘记将$color的索引添加为$i,如:$color[$i]。并错过检查条件。

$color = array( "Red", "Pink", "Blue", "Baby Blue", "Green", "Lime", "Gray", "Sunshine");

for ($i = 0; $i < count($color); $i++) {
     if ($i % 2 === 0) { //Here miss check
        echo "$i is $color[$i]"; //here missing index
     }
}

为简单起见:删除if条件。

for ($i = 0; $i < count($color); $i+=2){
    echo "$i is $color[$i]"; //here missing index
}