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 [])
答案 0 :(得分:1)
array_unique()
返回一个数组,所以如果你将它分配给另一个变量($colors
),该变量也将是一个数组。
$b[1]
只给出一个数组元素 - 将其分配给另一个变量,你将获得一个“简单”变量,而不是数组。要在这种情况下获取数组,您必须将该值作为条目添加到$colors
(通过编写[]
,从而再次使其成为数组)。
答案 1 :(得分:0)
$a []= $b
表示“将$b
追加到数组$a
”。
$a = $b
表示“设置$a
以引用$b
”。
要更直接地回答您的问题,可以说出$colors = $b[1]
,但这意味着“让$colors
引用1
中$b
的元素{1}}“和不”将1
中索引$b
处的元素添加到数组$colors
“。
array_unique
将唯一值作为数组返回。因此,您将为$colors
分配唯一值数组。