複数の配列を合成する方法です。
同じキーが存在する場合に上書きする・別々に扱うなど、幾つか方法があるので注意が必要ですね。
まず、同じキーがある場合に後から加える配列に上書きされるパターンです。
「array_merge」関数を使います。
1 2 3 4 5 |
$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) "家庭科"
}
["a"]=>
string(6) "国語"
["b"]=>
string(6) "体育"
["c"]=>
string(6) "算数"
["d"]=>
string(6) "美術"
["e"]=>
string(9) "家庭科"
}
今度はすべての値を保持する方法です。
「array_merge_recursive」関数を使います。
1 2 3 4 5 |
$a=array('a'=>'国語','b'=>'英語','c'=>'理科','d'=>'数学','e'=>'社会'); $b=array('a'=>'国語','b'=>'体育','c'=>'算数','d'=>'美術','e'=>'家庭科'); $c=array_merge_recursive($a,$b); var_dump($c); |
[結果]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
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) "家庭科" } } |
人気記事一覧
- MySQL 最大の値・最新の日付データを1つ抽出する方法(MAX)
- [CakePHP] XformHelperの使い方
- Linux: スワップファイル(swp)の削除方法
- HTMLのForm methodとactionについて
- PHPでカンマ区切りデータを配列に入れる方法 (explode)
- [エラー対処] failed to open stream: No such file or directory
- [vsftp] FileZillaから接続できない場合の対処法
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS)
- [CSS]ブロック要素(div)の高さを、内部のfloat要素に合わせて自動調整する
- PHPでテキストを1行ずつ読み込む方法(file_get_contents,explode)