phpの配列の結合!+とarray_mergeについて


はるか
phpで配列って結合できるの?

ふゅか
+とarray_mergeという方法で結合できるわ。
PHPでは、配列を結合する方法にはいくつかあります。主に使われるのは
array_merge
と +
です。それぞれの使い方と特徴について説明します。
1. array_merge関数
array_merge(array $array1,array $array2,・・・・)
array_merge
関数は、ひとつまたは複数の配列をマージして新しい配列を作成します。引数の型は配列です。
1.1. array_mergeの返り値
array_merge
関数は配列を返り値とします。
1.2. array_mergeの使い方
$array1と$array2の結合を具体的に行うと次のようになります。
<?php
$array1 = ['姉' => 'ane', '妹' => 'imouto'];
$array2 = ['姉' => 'ふゅか', '妹' => 'はるな', 'はい' => 'おなかすいた'];
$result = array_merge($array1, $array2);
var_dump($result);
この例では、次のように$array1の姉と妹キーのデータが更新していることがわかります。
array(3) {
["姉"]=> string(9) "ふゅか"
["妹"]=> string(9) "はるな"
["はい"]=> string(18) "おなかすいた"
}
array_merge
は、同じキーが存在する場合、後の配列の値で上書きします。

ふゅか
aneとimoutoが更新されていますね♪
2. +演算子
+
を使うと、左側の配列に右側の配列の要素を追加しますが、重複するキーの要素は上書きされません。
<?php
$array1 = ['姉' => 'ane', '妹' => 'imouto'];
$array2 = ['姉' => 'ふゅか', '妹' => 'はるな', 'はい' => 'おなかすいた'];
$result = $array1 + $array2;
var_dump($result);
この場合、次のようになります。
array(3) {
["姉"]=> string(3) "ane"
["妹"]=> string(6) "imouto"
["はい"]=> string(18) "おなかすいた"
}
+
を使うと、最初の配列に存在しないキーのみが追加されます。

はるか
aneとimoutoは更新されていないな
PR