PHP 中的非法偏移类型错误


Illegal offset type error in PHP

好吧,我有点迷茫。这是我的代码,但是我如何摆脱告诉我它是非法偏移类型的PHP错误?我正在尝试循环浏览颜色。

$color = array(
    [0]=>"red", 
    [1]=>"cherry",
    [2]=>"orange",
    [3]=>"amber",
    [4]=>"blue",
    [5]=>"sapphire",
    [6]=>"green",
    [7]=>"forest green",
    [8]=>"purple",
    [9]=>"lavender");
 //starts at index 0
for($colorCount=0; $colorCount <=9; $colorCount++){
    if ($colorCount == 9){
        break;
    }
    echo implode(", ", $color).", ";
}
我认为

可能发生的情况是,因为 PHP 现在支持带有 [] 的短数组表示法。它将[0]解析为array(0)然后您尝试将其用作数组中的键,这是不允许的。这将解释确切的错误消息。

像这样声明数组:

$color = array(
    0 => "red", 
    1 => "cherry",
    2 => "orange",
    3 => "amber",
    4 => "blue",
    5 => "sapphire",
    6 => "green",
    7 => "forest green",
    8 => "purple",
    9 => "lavender"
);

您甚至可以省略数字并执行以下操作:

$color = array(
    "red", 
    "cherry",
    "orange",
    "amber",
    "blue",
    "sapphire",
    "green",
    "forest green",
    "purple",
    "lavender"
);
$color = array(
        '0'=>"red", 
        '1'=>"cherry",
        '2'=>"orange",
        '3'=>"amber",
        '4'=>"blue",
        '5'=>"sapphire",
        '6'=>"green",
        '7'=>"forest green",
        '8'=>"purple",
        '9'=>"lavender"
        );
foreach ($color as $key => $res) {
       print_r($res);
}