PHP の配列演算子(結合)について
配列演算子の仕様で(使えるかどうかは不明だが)オモシロい?挙動をすることが分かった。
http://www.php.net/manual/ja/language.operators.array.php より
+ 演算子は、右側の配列を左側の配列に追加したものを返します。 両方の配列に存在するキーについては左側の配列の要素が優先され、 右側の配列にあった同じキーの要素は無視されます。
とのこと。配列同士の加算 ($a + $b) とする際の挙動が定義されている。
たとえば、関数の引数や戻り値などの処理後に配列を受け取って次の処理に渡す際、特定の要素が未設定だったらデフォルト値を設定しておきたいときに使うとよいのかな?
<?php $request = array('hoge' => '1'); // "hoge" 指定あり $default = array('hoge' => '0'); // "hoge" のデフォルト値 var_dump($request + $default); // $request の "hoge" が優先される $request = array('fuga' => 'x'); // "hoge" 指定なし $default = array('hoge' => '0'); // "hoge" のデフォルト値 var_dump($request + $default); // $default の "hoge" が追加される