PHPのarray_merge()
関数は、複数の配列を結合し、ひとつの配列を、新たに作る組み込み関数。
結合する配列に、同じ文字列のキーの配列要素がある場合、前の同じキーの配列要素の値を、後の同じキーの配列要素の値で、上書きする。
定義
配列型 array_merge( 配列型 $array1[, 配列型 $...] );
パラメータ
- 配列型 $array1
最初の配列。
- 配列型 $…
結合する配列。
カンマ
,
で区切り、複数の配列を指定できる。
戻り値
結合後の配列。
構文
配列を結合
配列 = array_merge( 配列1, 配列2 );
「配列1」と「配列2」を結合し、新たに「配列」を作る。
5つの配列を結合
配列 = array_merge( 配列1, 配列2, 配列3, 配列4, 配列5 );
「配列1」から「配列5」の5つの配列を結合し、新たに「配列」を作る。
サンプル
配列と配列を結合し、新たな配列を作成
<pre>
<?php
$array1 = array( 'red', 'blue', 'green' );
$array2 = array( '赤', '青', '緑' );
$varArray = array_merge( $array1, $array2 );
print_r( $varArray );
?>
</pre>
<?php
$array1 = array( 'red', 'blue', 'green' );
$array2 = array( '赤', '青', '緑' );
$varArray = array_merge( $array1, $array2 );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => red
[1] => blue
[2] => green
[3] => 赤
[4] => 青
[5] => 緑
)
(
[0] => red
[1] => blue
[2] => green
[3] => 赤
[4] => 青
[5] => 緑
)
4つの配列を結合し、新たな配列を作成
<pre>
<?php
$array1 = array( 'red', 'blue', 'green' );
$array2 = array( 'レッド', 'ブルー', 'グリーン' );
$array3 = array( '赤', '青', '緑' );
$array4 = array( 'あか', 'あお', 'みどり' );
$varArray = array_merge( $array1, $array2, $array3, $array4 );
print_r( $varArray );
?>
</pre>
<?php
$array1 = array( 'red', 'blue', 'green' );
$array2 = array( 'レッド', 'ブルー', 'グリーン' );
$array3 = array( '赤', '青', '緑' );
$array4 = array( 'あか', 'あお', 'みどり' );
$varArray = array_merge( $array1, $array2, $array3, $array4 );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => red
[1] => blue
[2] => green
[3] => レッド
[4] => ブルー
[5] => グリーン
[6] => 赤
[7] => 青
[8] => 緑
[9] => あか
[10] => あお
[11] => みどり
)
(
[0] => red
[1] => blue
[2] => green
[3] => レッド
[4] => ブルー
[5] => グリーン
[6] => 赤
[7] => 青
[8] => 緑
[9] => あか
[10] => あお
[11] => みどり
)
配列と連想配列を結合し、新たな連想配列を作成
<pre>
<?php
$array1 = array( 'red', 'blue', 'green' );
$array2 = array(
"aka" => "赤",
"ao" => "青",
"midori" => "緑"
);
$varArray = array_merge( $array1, $array2 );
print_r( $varArray );
?>
</pre>
<?php
$array1 = array( 'red', 'blue', 'green' );
$array2 = array(
"aka" => "赤",
"ao" => "青",
"midori" => "緑"
);
$varArray = array_merge( $array1, $array2 );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => red
[1] => blue
[2] => green
[aka] => 赤
[ao] => 青
[midori] => 緑
)
(
[0] => red
[1] => blue
[2] => green
[aka] => 赤
[ao] => 青
[midori] => 緑
)
連想配列と連想配列を結合し、新たな連想配列を作成
<pre>
<?php
$array1 = array(
"red" => "レッド",
"blue" => "ブルー"
);
$array2 = array(
"blue" => "青",
"green" => "緑"
);
$varArray = array_merge( $array1, $array2 );
print_r( $varArray );
?>
</pre>
<?php
$array1 = array(
"red" => "レッド",
"blue" => "ブルー"
);
$array2 = array(
"blue" => "青",
"green" => "緑"
);
$varArray = array_merge( $array1, $array2 );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[red] => レッド
[blue] => 青
[green] => 緑
)
(
[red] => レッド
[blue] => 青
[green] => 緑
)
重複しているキー「blue」の値は、「$array2」の「青」になっている点に注目。
多次元配列と多次元配列を結合し、新たな多次元配列を作成
<pre>
<?php
$array1 = array(
array( "red", "blue", "green" ),
array( "レッド", "ブルー", "グリーン" )
);
$array2 = array(
array(
"aka" => "赤",
"ao" => "青",
"midori" => "緑"
),
array(
"aka" => "あか",
"ao" => "あお",
"midori" => "みどり"
)
);
$varArray = array_merge( $array1, $array2 );
print_r( $varArray );
?>
</pre>
<?php
$array1 = array(
array( "red", "blue", "green" ),
array( "レッド", "ブルー", "グリーン" )
);
$array2 = array(
array(
"aka" => "赤",
"ao" => "青",
"midori" => "緑"
),
array(
"aka" => "あか",
"ao" => "あお",
"midori" => "みどり"
)
);
$varArray = array_merge( $array1, $array2 );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => Array
(
[0] => red
[1] => blue
[2] => green
)
[1] => Array
(
[0] => レッド
[1] => ブルー
[2] => グリーン
)
[2] => Array
(
[aka] => 赤
[ao] => 青
[midori] => 緑
)
[3] => Array
(
[aka] => あか
[ao] => あお
[midori] => みどり
)
)
(
[0] => Array
(
[0] => red
[1] => blue
[2] => green
)
[1] => Array
(
[0] => レッド
[1] => ブルー
[2] => グリーン
)
[2] => Array
(
[aka] => 赤
[ao] => 青
[midori] => 緑
)
[3] => Array
(
[aka] => あか
[ao] => あお
[midori] => みどり
)
)