まず、キー名が文字列かどうかを確認してください。 2 つの違いは次のとおりです。
コードをコピー コードは次のとおりです:
$arr1 = array('a'=>'PHP');
$arr2 = array('a'=> 'JAVA' );
//キー名が文字でキー名が同じ場合、array_merge() 後の配列要素の値が前の配列要素の値を上書きします
print_r(array_merge($arr1,$arr2)) ; //Array ( [a] = > JAVA )
//キー名が文字であり、キー名が同じ場合、配列の加算では最初の値が結果として使用されます
print_r($arr1+$arr2) / /Array ( [a] => PHP )
?>
キー名が数値の場合、2 つの違いは次のとおりです:
コードをコピーします コードは次のとおりです:
$arr1 = array("C","PHP") ;
$arr2 = array("JAVA","PHP");
//キー名が数値の場合、array_merge() は上書きしないでください
print_r(array_merge($arr1,$arr2));//Array ( [ 0] => C [1] => PHP [2] => JAVA [3] => PHP )
//キー名が配列の場合、配列の加算では最初の値が結果として使用され、同じキー名を持つ後続のキー名は破棄されます
print_r($arr1+$arr2);//Array ( [0] => C [1] => PHP )
?>
それには特に注意してください。 「array_merge と配列加算の違い」は、上記で非常に明確に説明されています。「同じ文字キー名と異なる値を持つ 2 つの配列値セットを最も効果的に取得する方法」に戻ります。これは正しくありませんか? PHP には、あまり使用しない関数もあります: array_merge_recursive — 1 つ以上の配列を再帰的にマージします。入力配列が同じ文字列キー名を持つ場合、これらの値は 1 つの Go in にマージされます。配列。例として:
コードをコピーします コードは次のとおりです:
$arr1 = array("a"=>"php","c");
$arr2 = array("a "=>"java","c","ruby");
print_r(array_merge_recursive($arr1, $arr2));
?>
結果は次のとおりです。
(
[a] => ; 配列
このように、同じキー名の要素値のコレクションを複数の配列で取得できます。
http://www.bkjia.com/PHPjc/327601.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/327601.html
技術記事
まず、文字列であるキー名を見てみましょう。 次のようにコードをコピーします。 ?php $arr1 = array('a'='PHP'); $arr2 = array(') a'='JAVA'); // キー名が文字であり、キー名が同じ場合、ar...