[1=>0]+[2=>0]
产量[1=>0,2=>0]
。但是有什么技巧可以将这种语法糖用于[1]+[2]
. 所以[1]+[2]
产量[1,2]
?
注意:我关心的是这样的语法,而不是其他相关的 PHP 函数。
请改用array_merge()。我难倒了这么多+
与数组一起使用的奇怪行为,我向自己保证永远不会再使用它。
+
是数组联合运算符,它将跳过现有的键。
您想要array_merge()
在您的示例中将它们连接起来(它对带有数字键的数组执行此操作)。
对你来说不幸的是,没有办法重载+
运算符来执行任何不同的操作。
这是因为+
是联合运算符。它不追加或合并。
[1] is array(0=>1);
[2] is array(0=>2);
如果你联合它将成为第一个数组中已经存在的键array(0=>1)
。0
没有语法糖可以做到这一点。但是,你可以试试这个
[1]+[1=>2]
或其他丑陋的表达
[1]+[count([1])=>2]
在语法上[1]+[2] == [1,2]
也完全没有意义。那是蟒蛇的事情。