为什么/如何在PHP中使用+加入数组?

ale*_*lex 4 php arrays

我最近在PHP中注意到你可以做到这一点.

$myNewArray = $oldArray + $someArray;
Run Code Online (Sandbox Code Playgroud)

这看起来与我之前在PHP中操作数组时所看到的完全不同.

它是如何以及为什么有效?有任何陷阱吗?

在一些地方,我可能已经使用使用它,我最近已经开始array_unshift()array_merge().

Pis*_*3.0 8

如有疑问,请参阅文档.行为与array_merge不同:array_merge追加/覆盖,+仅追加.

例:

<?php
$a = Array('foo'=>'bar','baz'=>'quux');
$b = Array('foo'=>'something else','xyzzy'=>'aaaa');

$c = $a + $b;
$d = array_merge($a,$b);

print_r($c);
print_r($d);
Run Code Online (Sandbox Code Playgroud)

输出 - 如您所见,array_merge用$ b ['foo']覆盖$ a ['foo']的值.$ a + $ b没有:

Array
(
    [foo] => bar
    [baz] => quux
    [xyzzy] => aaaa
)
Array
(
    [foo] => something else
    [baz] => quux
    [xyzzy] => aaaa
)
Run Code Online (Sandbox Code Playgroud)