揮発性のメモ2

http://d.hatena.ne.jp/iww/

配列をマージする

<?php
$a = array( "HOGE"=>"A", "PIYO"=>"B", "C", 4=>"D" );
$b = array( "E", "PIYO"=>"TEST", "FUGA"=>"F", 2=>"G", 4=>"H" );

print("array_merge\n");
$c = array_merge( $a, $b );
foreach( $c as $k=>$v ) print("$k => $v\n");

print("\n足し算\n");
$d = $a + $b;
foreach( $d as $k=>$v ) print("$k => $v\n");

array_merge

PHP: 配列演算子 - Manual
array_merge($a,$b) によるマージは 配列を上書きするイメージ
連想配列は すでにあるキーは上書きされ、添え字が数字のやつは添え字を振りなおされる
$list[] = $hoge; されるイメージが一番近い

array_merge
HOGE => A    ← $a['HOGE']
PIYO => TEST ← $b['PIYO']
0 => C       ← $a[0]
1 => D       ← $a[4]
2 => E       ← $b[0]
FUGA => F    ← $b['FUGA']
3 => G       ← $b[2]
4 => H       ← $b[4]

結合

PHP: 配列演算子 - Manual
$a + $b によるマージは 最初からある配列を維持する
すでにあるキーは上書きされない、添え字が数字のやつも振りなおされずそのまま使う(そしてこれも重なっていれば上書きしない)

足し算
HOGE => A    ← $a['HOGE']
PIYO => B    ← $a['PIYO']
0 => C       ← $a[0]
4 => D       ← $a[4]
FUGA => F    ← $b['FUGA']
2 => G       ← $b[2]