array_mergeと+演算子

配列の結合関数array_mergeと+演算子には挙動の違いがあるので注意したほうが良い。
<?=var_dump(array(‘A’ => ‘a’, ‘B’ => ‘b’) + array(‘A’ => ‘c’, ‘D’ => ‘d’)); ?>
<?=var_dump(array_merge(array(‘A’ => ‘a’, ‘B’ => ‘b’), array(‘A’ => ‘c’, ‘D’ => ‘d’))); ?>

array(3) {
[“A”]=>
 string(1) “a”
 [“B”]=>
 string(1) “b”
 [“D”]=>
 string(1) “d”
}
array(3) {
 [“A”]=>
 string(1) “c”
 [“B”]=>
 string(1) “b”
 [“D”]=>
 string(1) “d”
}

<?=var_dump(array(‘A’ => ‘a’, ‘B’ => ‘b’) + array(‘C’ => ‘c’, ‘D’ => ‘d’)); ?>
<?=var_dump(array_merge(array(‘A’ => ‘a’, ‘B’ => ‘b’), array(‘C’ => ‘c’, ‘D’ => ‘d’))); ?>

array(4) {
 [“A”]=>
 string(1) “a”
 [“B”]=>
 string(1) “b”
 [“C”]=>
 string(1) “c”
 [“D”]=>
 string(1) “d”
}
array(4) {
 [“A”]=>
 string(1) “a”
 [“B”]=>
 string(1) “b”
 [“C”]=>
 string(1) “c”
 [“D”]=>
 string(1) “d”
}

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です