更新:2024/09/11

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