array_merge
0pt
忘れやすいのでメモ。
数値添え字でない場合、array_mergeは重複キーを上書きする。+演算子は重複キーを上書きしない。
数値添え字の場合、array_mergeは後の配列が追記されるように添え字が振られる。+演算子は重複キーを上書きしない。
要するに、+演算子は元の配列を変更することはない。array_mergeは上書きされる可能性がある。
<?php $x = array('aaa' => 1, 'bbb' => 2, 'ccc' => 3); $y = array('ccc' => 5, 'ddd' => 6); print_r(array_merge($x, $y)); print_r($x + $y); $x = array('a', 'b', 'c', 'd'); $y = array('b', 'c'); print_r(array_merge($x, $y)); print_r($x + $y);
Array ( [aaa] => 1 [bbb] => 2 [ccc] => 5 [ddd] => 6 ) Array ( [aaa] => 1 [bbb] => 2 [ccc] => 3 [ddd] => 6 ) Array ( [0] => a [1] => b [2] => c [3] => d [4] => b [5] => c ) Array ( [0] => a [1] => b [2] => c [3] => d )
<?php $x = array('hoge'); $y = array('moge'); print_r(array_merge($x, $y)); print_r($x + $y);
Array ( [0] => hoge [1] => moge ) Array ( [0] => hoge )
コメントはまだありません