2

[1=>0]+[2=>0]产量[1=>0,2=>0]。但是有什么技巧可以将这种语法糖用于[1]+[2]. 所以[1]+[2]产量[1,2]

注意:我关心的是这样的语法,而不是其他相关的 PHP 函数。

4

3 回答 3

5

请改用array_merge()。我难倒了这么多+与数组一起使用的奇怪行为,我向自己保证永远不会再使用它。

于 2013-01-13T08:45:54.560 回答
5

+是数组联合运算符,它将跳过现有的键。

您想要array_merge()在您的示例中将它们连接起来(它对带有数字键的数组执行此操作)。

对你来说不幸的是,没有办法重载+运算符来执行任何不同的操作。

于 2013-01-13T08:49:59.153 回答
1

这是因为+是联合运算符。它不追加或合并。

[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]也完全没有意义。那是蟒蛇的事情。

于 2013-01-13T08:55:54.530 回答