配列の結合関数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”
}