複数の配列を合成する方法です。
同じキーが存在する場合に上書きする・別々に扱うなど、幾つか方法があるので注意が必要ですね。
まず、同じキーがある場合に後から加える配列に上書きされるパターンです。
「array_merge」関数を使います。
$a=array('a'=>'国語','b'=>'英語','c'=>'理科','d'=>'数学','e'=>'社会');
$b=array('a'=>'国語','b'=>'体育','c'=>'算数','d'=>'美術','e'=>'家庭科');
$c=array_merge($a,$b);
var_dump($c);
[結果]
array(5) {
["a"]=>
string(6) "国語"
["b"]=>
string(6) "体育"
["c"]=>
string(6) "算数"
["d"]=>
string(6) "美術"
["e"]=>
string(9) "家庭科"
}
今度はすべての値を保持する方法です。
「array_merge_recursive」関数を使います。
$a=array('a'=>'国語','b'=>'英語','c'=>'理科','d'=>'数学','e'=>'社会');
$b=array('a'=>'国語','b'=>'体育','c'=>'算数','d'=>'美術','e'=>'家庭科');
$c=array_merge_recursive($a,$b);
var_dump($c);
[結果]
array(5) {
["a"]=>
array(2) {
[0]=>
string(6) "国語"
[1]=>
string(6) "国語"
}
["b"]=>
array(2) {
[0]=>
string(6) "英語"
[1]=>
string(6) "体育"
}
["c"]=>
array(2) {
[0]=>
string(6) "理科"
[1]=>
string(6) "算数"
}
["d"]=>
array(2) {
[0]=>
string(6) "数学"
[1]=>
string(6) "美術"
}
["e"]=>
array(2) {
[0]=>
string(6) "社会"
[1]=>
string(9) "家庭科"
}
}