初めて知ったー
こんにちは。中の人です。
+
$a = ['hello' => 111] + ['piyo' => 222];
var_dump($a);
この実行結果は
こうなります
つまり配列同士足し算すると、先の配列(['hello' => 111])のkey,valueが先に登録されて、次の配列のkey,valueが後に登録されて一つの配列が作成されるということみたいです。
知らんかったーchat_gptで知りました
つまり
$a = ['hello' => 111] + ['piyo' => 222] + ['huga' => 333];
var_dump($a);
の実行結果は
こうなるということです。足せば後ろに登録されるということですね。
ちなみに
$a = ['hello' => 111] + ['piyo' => 222] + ['hello' => 333];
これの実行結果は
こうなります。
先に定義されているkeyの値は、そのままみたいです。
array_merge
配列を合体させる関数のarray_mergeですが、+だと先に定義されているkeyの値が優先されるのに対し、配列を合体させる関数array_mergeは
$b = array_merge(['hello' => 111], ['piyo' => 222], ['hello' => 333]);
var_dump($b);
これは
こうなります。
array_mergeの場合は、keyが同じの場合後のやつに上書きされるということみたいですね。
終わりに
知らんかったっすー
おすおすですね。