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 に答える