phpで、
$配列変数 += array(なんか);
みたいに書く場合。
+= (プラスイコール)の左辺(オペランド)、右辺(オペランド)が配列の場合。
+= は、配列同士を結合させる
PHP: 配列演算子 - Manual
+
演算子は、右側の配列を左側の配列に追加したものを返します。
たとえば、
$a = array("a" => "えー", "b" => "びー");
$c = array("c" => "しー");
$a += $c;
この場合、$aの中身は
- “a” => “えー”
- “b” => “びー”
- “c” => “しー”
この3つになる
結合する配列同士の内容に重複があった場合、左側の配列が優先される
では、以下の場合、$aの中身はどうなるか。
$a = array("a" => "えー", "b" => "びー");
$b = array("b" => "べーた");
$a += $b;
この場合、$aの中身は
- “a” => “えー”
- “b” => “びー”
この2つになる。
“b” => “べーた”
は消える。
なぜなら、右側の配列だから。
公式マニュアル
PHP: 配列演算子 - Manual
両方の配列に存在するキーについては左側の配列の要素が優先され、 右側の配列にあった同じキーの要素は無視されます。
コメント