这是否可以以这种方式而不是array_merge
函数合并多个数组?
$defaults = array('a'=>'b');
$defaults .= array('c'=>'d');
print_r($defaults);?>
不,因为.
and.=
运算符只对字符串进行操作。
运算符+
确实适用于数组,它的语义与array_merge
.
数组添加的工作方式如下:
+ 运算符返回附加到左侧数组的右侧数组;对于两个数组中都存在的键,将使用左侧数组中的元素,而忽略右侧数组中的匹配元素。
array_merge
像这样工作:
如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个。但是,如果数组包含数字键,则后面的值不会覆盖原始值,而是会被追加。
几乎,您需要+
运算符:
$defaults = array('a'=>'b');
$defaults += array('c'=>'d');
print_r($defaults);
但请注意,它的模式与 略有不同array_merge
,即它不会覆盖已定义的键/索引。
试试这个:
$defaults = array('a'=>'b');
$defaults += array('c'=>'d');
print_r($defaults);