PHP による 配列のマージには通常 2 つの方法があり、1 つは直接プラス記号を使用して追加する方法、もう 1 つは array_merge関数 を使用して追加する方法です。array_merge() は 2 つ以上の配列のユニットを結合します。 、ある配列内の値が前の配列に追加されます。結果の配列を返します。入力配列に同じ string キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キーが含まれている場合、後続の値は元の値を上書きせず、追加されます。
この 2 つは若干の違いがあります:
配列キー名が数値キー名で、マージされる 2 つの配列に同じ名前の数値キーがある場合、array_merge() を使用しても上書きされません。元の値。「+」を使用して配列を結合すると、最初に出現した値が最終結果として返され、後続の配列内の同じキー名を持つそれらの値が「破棄」されます(注: 上書きされず、最初の値が保持されます)。表示される値)。同じ配列キー名が文字の場合、「+」演算子はキー名が数値の場合と同じですが、array_merge()は同じキー名の以前の値を上書きします。
例:
<?php $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); ?>
出力結果:
Array ( [1] => data ) Array ( [1] => 0 ) Array ( [0] => data [1] => 0 ) Array ( [0] => 0 [1] => data )
コード:
<?php $array1 = array('asd'=>'0'); $array2 = array('asd' => "data"); $result1 = $array2 + $array1;/*结果为$array2的值*/ print_r($result); $result = $array1 + $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] => data ) Array ( [asd] => 0 ) Array ( [asd] => 0 ) Array ( [asd] => data )
1. 加算方法、値はリセットされません。追加された配列内の値は上書きされません
3. マージ関数内の自然インデックスはリセットされます
4. マージ関数はマージされたものとマージされたものの関係は関係なく、最後の配列パラメーターの値は上書きされます前の配列パラメータと同じキーの値
以上が+演算子を使用したPHPの配列のマージと配列関数array_mergeの違いの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。