« 正規表現 | メイン | timeコマンド »

array_mergeと+演算子

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"
}



トラックバック

トラックバックは本サイトの紹介(リンクがあれば可)があるものに限り受付いたします。このエントリーのトラックバックURLは以下のとおりです。

http://blog.development-network.net/mt/mt-tb.cgi/78

コメントを投稿