PHP マージ配列 array_merge 関数演算子のプラス記号との違い - PHP チュートリアル

WBOY
リリース: 2016-07-21 15:49:19
オリジナル
1223 人が閲覧しました

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

tru​​ehttp://www.bkjia.com/PHPjc/319608.html技術記事 array_merge はリファレンス マニュアルで次のように説明されています。 array_merge() 2 つ以上の配列のセルを結合し、1 つの配列の値を前の配列に追加します。結果として返されます...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート