こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 PHPで複数の配列を結合(マージ)することができるarray_merge関数について
- array_merge関数とは
- array_merge関数を使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
PHPのバージョン | 8.0.3 |
XAMPPのバージョン | 8.0.3 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
array_merge関数とは
array_merge関数とは、引数に設定されている配列をすべて結合した配列が返される関数です。
引数にはいくつでも設定でき、
- 配列
- 連想配列
どちらも指定することができますし、ごちゃ混ぜで結合することもできます。
連結される順番は、前から順々に連結していきます。
使い方サンプルは、以下になります。
1 2 3 |
$sample1 = ['aaa', 'bbb']; $sample2 = ['C' => 'ccc', 'D' => 'ddd', 'E' => 'eee']; $result = array_merge($sample1, $sample2); |
上記の例だと、変数resultには
1 2 3 4 5 6 7 8 |
Array ( [0] => aaa [1] => bbb [C] => ccc [D] => ddd [E] => eee ) |
という配列が返されます。
array_merge関数の引数に連想配列を指定したときの注意点として、もし同じキーが存在していた場合、最新のもの、つまり後で連結したものに上書きされる、ということです。
たとえば以下のように指定した場合
1 2 3 |
$test1 = ['AA' => 'aaa', 'BB' => 'bbb']; $test2 = ['AA' => 'ccc', 'DD' => 'ddd']; $result = array_merge($test1, $test2); |
変数resultには
1 2 3 4 5 6 |
Array ( [AA] => ccc [BB] => bbb [DD] => ddd ) |
という配列が返されます。
キーAAの値がaaaからcccに上書きされています。
連想配列を指定する場合は、キーの値が重複しないか?をお気を付けください。
では、次の章で実際に使ってみます。
array_merge関数を解説するプログラムの概要
array_merge関数を解説するプログラムでは、
- 配列のみを結合した場合
- 連想配列のみを結合した場合
- 配列と連想配列を混ぜて結合した場合
の3ケースでarray_merge関数を使って配列を連結し、結果を表示させます。
phpプログラムは
C:\xampp\htdocs
配下に、【arraymergesample.php】というファイル名で格納しています。
PHPサンプルプログラム
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 |
<?php print('■array_merge関数サンプル<br />'); print('・配列のみを結合した場合<br >'); $fish_array1 = ['マグロ', 'サケ']; $fish_array2 = ['アジ', 'スズキ']; $fish_array3 = ['タイ', 'マグロ']; $all_fish_Array = array_merge($fish_array1, $fish_array2, $fish_array3); print_r('<pre>'); print_r($all_fish_Array); print_r('</pre>'); print('<br ><br >'); print('・連想配列のみを結合した場合<br >'); $fuits_array1 = ['orange' => 'オレンジ', 'pear' => '梨']; $fuits_array2 = ['apple' => 'リンゴ', 'pineapple' => 'パイナップル']; $fuits_array3 = ['orange' => '橙', 'persimmon' => '柿']; $all_fuits_array = array_merge($fuits_array1, $fuits_array2, $fuits_array3); print_r('<pre>'); print_r($all_fuits_array); print_r('</pre>'); print('<br ><br >'); print('・配列と連想配列を混ぜて結合した場合<br >'); $vegetables_array1 = ['キャベツ', 'かぼちゃ']; $vegetables_array2 = ['radish' => '大根', 'onion' => 'たまねぎ']; $vegetables_array3 = ['ピーマン', 'パプリカ']; $all_vegetables_array = array_merge($vegetables_array1, $vegetables_array2, $vegetables_array3); print_r('<pre>'); print_r($all_vegetables_array); print_r('</pre>'); ?> |
実行結果
XAMPPを起動して、【http://localhost/inarraysample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
無事、配列が結合できていることが確認できました。
まとめ:array_merge関数を使ってみよう!
以上がarray_merge関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント