配列を結合 - array_merge()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、指定した複数の配列を結合する関数 array_merge()を紹介します。
array_merge関数
array array_merge ( array $array1 [, array $... ] )
指定した複数の配列を結合します。
配列のキーが同じ場合は、後に指定した配列が前の配列を上書きします。
同じ配列キーを持つ要素をひとつにまとめる場合は、array_merge_recursive関数を使います。
引数 $array 結合する配列を指定します。
返り値
結合した配列を返します。
通常の配列(キーが数字)の場合は、数字が再び振り直されます。
連想配列(キーが文字列)の場合は、そのまま引き継ぎます。
サンプルコード - 通常の配列の結合
配列から指定した値(ここでは、大文字のPHP)を検索するサンプルコードです。
array_merge( 配列1, 配列2, ... );
<?php /* 配列を定義 */ $os = array('Windows', 'Mac', 'Linux'); $prog = array('PHP', 'Perl', 'Ruby', 'BASH'); /* 配列を結合 */ print_r( array_merge($os,$prog) ); ?>
実行結果です。
Array ( [0] => Windows [1] => Mac [2] => Linux [3] => PHP [4] => Perl [5] => Ruby [6] => BASH )
配列のキーが数字の配列を結合したので、配列のキーが振り直されています。
サンプルコード - 連想配列の結合
次は連想配列を結合してみましょう。
array_merge( 連想配列1, 連想配列2, ... );
<?php /* 配列を定義 */ $os = array('OS1' => 'Windows', 'OS2' => 'Mac', 'OS3' => 'Linux'); $prog = array('Prog1' => 'PHP', 'Prog2' => 'Perl', 'OS3' => 'Ruby', 'Prog4' => 'BASH'); /* 配列を結合 */ print_r( array_merge($os,$prog) ); ?>
実行結果です。
Array ( [OS1] => Windows [OS2] => Mac [OS3] => Ruby [Prog1] => PHP [Prog2] => Perl [Prog4] => BASH )
連想配列(キーが文字列)を結合したので、結合前の配列キーが引き継がれています。また、配列のキーが同じ値(ここでは、OS3)の場合は、後に指定した配列の値が上書きします。