array_merge はリファレンスマニュアルでは次のように説明されています。
array_merge() 2 つ以上の配列のセルをマージし、1 つの配列の値を前の配列に追加します。結果の配列を返します。
入力配列に同じ文字列キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キーが含まれている場合、後続の値は元の値を上書きせず、追加されます。
両者の違いは:
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] => 0
[1] => データ
)
2. 同じ配列キー名の場合が文字の場合、「+」演算子はキー名が数字の場合と同じですが、array_merge() このとき、同じキー名の以前の値が上書きされます。
例:
コードをコピー コードは次のとおりです:
$array1 = array('asd'=>'0');
$array2 = array('asd' => "data ");
$result1 = $array2 + $array1;/*結果は $array2 の値です*/
print_r($result);
$result = $array1 + $array2;/*結果は $array2 の値です$array1*/
print_r( $result);
$result3 = array_merge($array2,$array1);/*結果は $array1*/
print_r($result3);
$result4 = array_merge($array1,$) array2);/*結果は $ array2*/
print_r($result4);
出力結果は次のとおりです:
コードをコピーします コードは次のとおりです:
Array
(
[ asd] => データ
)
配列
(
[asd] => 0
)
配列
(
[asd] => 0
)
配列
(
[asd] => データ
)
http://www.bkjia.com/PHPjc/319608.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/319608.html技術記事 array_merge はリファレンス マニュアルで次のように説明されています。 array_merge() 2 つ以上の配列のセルを結合し、1 つの配列の値を前の配列に追加します。結果として返されます...