-1

array_merge関数の代わりにこの方法で複数の配列をマージすることは可能ですか?

$defaults = array('a'=>'b');
$defaults .= array('c'=>'d');
print_r($defaults);?>
4

3 に答える 3

4

いいえ、.and.=演算子は文字列のみを操作するためです。

演算子+は配列に対して機能し、 とはセマンティクスがわずかに異なりarray_mergeます。

配列の追加は次のように機能します。

+ 演算子は、左側の配列に追加された右側の配列を返します。両方の配列に存在するキーの場合、左側の配列の要素が使用され、右側の配列の一致する要素は無視されます。

array_merge次のように動作します:

入力配列に同じ文字列キーがある場合、そのキーの後の値が前の値を上書きします。ただし、配列に数値キーが含まれている場合、後の値は元の値を上書きせずに追加されます。

于 2013-01-17T13:45:08.433 に答える
3

ほとんどの場合、+代わりに演算子が必要です。

$defaults = array('a'=>'b');
$defaults += array('c'=>'d');
print_r($defaults);

ただし、 とはモードが少し異なることに注意してくださいarray_merge。つまり、すでに定義されているキー/インデックスをオーバーライドしません。

于 2013-01-17T13:46:23.237 に答える
2

これを試して:

$defaults = array('a'=>'b');
$defaults += array('c'=>'d');
print_r($defaults);
于 2013-01-17T13:45:06.183 に答える