ホームページ  >  記事  >  php教程  >  PHP マージ配列 array_merge 関数演算子のプラス記号との違い

PHP マージ配列 array_merge 関数演算子のプラス記号との違い

WBOY
WBOYオリジナル
2016-06-13 12:26:15992ブラウズ

リファレンスマニュアルのarray_mergeの説明は以下の通りです。
array_merge() 2つ以上の配列のセルを結合し、1つの配列の値を前の配列に追加します。結果の配列を返します。
入力配列に同じ文字列キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キーが含まれている場合、後続の値は元の値を上書きせず、追加されます。
2 つの違いは次のとおりです。
1. 配列キー名が数値キー名で、マージされる 2 つの配列に同じ名前の数値キーがある場合、array_merge() を使用しても元のキーは上書きされません。 「+」を使用して配列をマージすると、最初に出現した値が最終結果として返され、後続の配列で同じキー名を持つそれらの値が「破棄」されます (注: 上書きではなく、最初に出現した値が保持されます)。例:

コードをコピー コードは次のとおりです:


$array1 = array(1=>'0') ;
$array2 = array(1=> "data");
$result1 = $array2 $array1;/*結果は $array2 の値です*/
print_r($result);
$result = $array1 $array2 ;/*結果は $array1 の値です*/
print_r($result);
$result3 = array_merge($array2,$array1);/*結果は $array2 と $array1 の値です。キー名は再割り当てされます*/
print_r($result3);
$result4 = array_merge($array1,$array2);/*結果は次の値です$array1 と $array2、キー名が再割り当てされます */
print_r($result4);


出力結果は次のとおりです:

コードをコピー コードは次のとおりです:


配列
(
[1] => データ
)
配列
(
[1] => 0
)
配列
(
[0] => データ
[1] => 0
)
配列
(
[0] => [1] => data
)

2. 同じ配列キー名が文字の場合、「+」演算子はキー名は数値ですが、array_merge() は前の値を同じキー名で上書きします。
例:
');
$array2 = array('asd' => "data");

$result1 = $array2 $array1;/*結果は $ の値ですarray2*/ print_r($result ); $result = $array1 $array2 ;/*結果は $array1*/ print_r($result); array_merge($array2,$array1);/*結果は $array1*/ print_r($result3);

$result4 = array_merge($array1,$array2);/*結果は $array2*/

print_r($result4);


出力結果は次のとおりです:



コードをコピーします

コードは次のとおりです:

配列
(
[ asd] => データ

) 配列 ( [asd] => 0 )

配列

(
[asd] => 0
)
配列
(
[asd] => データ
)


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。