2013-01-13 61 views

回答

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]沒有任何意義可言。這就是蟒蛇的事情。

5

改爲使用array_merge()。我忍受了很多奇怪的行爲+與陣列使用,我承諾永遠不會再使用它。

5

+是數組聯合運算符,它將跳過現有的鍵。

你想要array_merge()它將在你的例子中連接它們(它爲數組鍵)。

不幸的是,沒有辦法讓+運算符超載來執行任何不同的操作。