这可以用这种方式合并多个数组而不是array_merge
函数吗?
$defaults = array('a'=>'b');
$defaults .= array('c'=>'d');
print_r($defaults);?>
答案 0 :(得分:4)
不,因为.
和.=
运算符仅对字符串进行操作。
运算符+
可以在数组上运行,它的语义与array_merge
略有不同。
数组加法的工作原理如下:
+运算符返回附加到左侧的右侧数组 阵列;对于存在于两个数组中的键,来自的数组 将使用左手数组,以及来自的匹配元素 右手阵列将被忽略。
array_merge
的工作原理如下:
如果输入数组具有相同的字符串键,则后面的值 该密钥将覆盖前一个密钥。但是,如果是数组 包含数字键,后面的值不会覆盖原始值 值,但会附加。
答案 1 :(得分:3)
差不多,您需要+
运算符:
$defaults = array('a'=>'b');
$defaults += array('c'=>'d');
print_r($defaults);
请注意,它的模式与array_merge
略有不同,即它不会覆盖已定义的键/索引。
答案 2 :(得分:2)
试试这个:
$defaults = array('a'=>'b');
$defaults += array('c'=>'d');
print_r($defaults);