-1
foreach ($this->getGalleryImages() as $_image){
            $a=explode('/',$_image->getPath());
            $b=explode('-',$a[count($a)-1]);
            $colors[]=$b[1];                
        }

に変更できない$colors[]=$b[1]; 理由$colors=$b[1];。しかし、$color=array_unique($colors);これは大丈夫です。$color ありません[]($color[])

4

2 に答える 2

1

array_unique()は配列を返すので、それを別の変数 ( $colors) に割り当てると、その変数も配列になります。

$b[1]配列の要素を 1 つだけ指定します。それを別の変数に割り当てると、配列ではなく「単純な」変数が得られます。この場合に配列を取得するには、値をエントリとして追加する必要があります$colors(書き込み[]、配列にすることによって)。

于 2012-08-20T06:56:52.147 に答える
0

$a []= $b$b「配列に追加する」ことを意味します$a

$a = $b$aは「参照するように設定する」ことを意味し$bます。


あなたの質問にもっと直接的に答えるために、あなた言うことができますが、それは「インデックスの要素を参照$colors = $b[1]させてください」という意味であり、 「インデックスの要素を配列に追加する」という意味ではありません$colors1$b1$b$colors

array_unique一意の値を配列として返します。したがって、一意の値の配列を に割り当てます$colors

于 2012-08-20T06:56:35.327 に答える