-1

这是否可以以这种方式而不是array_merge函数合并多个数组?

$defaults = array('a'=>'b');
$defaults .= array('c'=>'d');
print_r($defaults);?>
4

3 回答 3

4

不,因为.and.=运算符只对字符串进行操作。

运算符+确实适用于数组,它的语义与array_merge.

数组添加的工作方式如下:

+ 运算符返回附加到左侧数组的右侧数组;对于两个数组中都存在的键,将使用左侧数组中的元素,而忽略右侧数组中的匹配元素。

array_merge像这样工作:

如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个。但是,如果数组包含数字键,则后面的值不会覆盖原始值,而是会被追加。

于 2013-01-17T13:45:08.433 回答
3

几乎,您需要+运算符:

$defaults = array('a'=>'b');
$defaults += array('c'=>'d');
print_r($defaults);

但请注意,它的模式与 略有不同array_merge,即它不会覆盖已定义的键/索引。

于 2013-01-17T13:46:23.237 回答
2

试试这个:

$defaults = array('a'=>'b');
$defaults += array('c'=>'d');
print_r($defaults);
于 2013-01-17T13:45:06.183 回答