ホームページ  >  記事  >  php教程  >  PHP merge array + と array_merge の違いの分析

PHP merge array + と array_merge の違いの分析

高洛峰
高洛峰オリジナル
2016-12-28 15:20:341509ブラウズ

主な違いは、同じキー名が複数の配列に出現する場合、キー名が文字列または数値に分割されることです。ご注意ください

1) キー名が数値の場合、array_merge() は上書きしません。元の値ですが、 + 配列をマージすると最初の値が最終結果として返され、後続の配列で同じキー名を持つそれらの値は「破棄」されます (上書きされません)

2) キー名が次の場合文字、+ は依然として最後の値を返します。最初に出現した値が最終結果として返され、後続の配列内の同じキー名を持つ値は「破棄」されますが、array_merge() は前の値を次の値で上書きします。この時点では同じキー名です

配列キー形式 'Number' は数値と同等であることに注意してください

$a = array('a','b'); 
$b = array('c', 'd'); 
$c = $a + $b; 
var_dump($a); 
var_dump(array_merge($a, $b)); 

$a = array(0 => 'a', 1 => 'b'); 
$b = array(0 => 'c', 1 => 'b'); 
$c = $a + $b; 
var_dump($c); 
var_dump(array_merge($a, $b)); 

$a = array('a', 'b'); 
$b = array('0' => 'c', 1 => 'b'); 
$c = $a + $b; 
var_dump($c); 
var_dump(array_merge($a, $b)); 

$a = array(0 => 'a', 1 => 'b'); 
$b = array('0' => 'c', '1' => 'b'); 
$c = $a + $b; 
var_dump($c); 
var_dump(array_merge($a, $b));

結果

array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'd' (length=1) 

array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 

array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'b' (length=1) 

array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 

array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'b' (length=1) 

array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 

array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'b' (length=1)

PHP マージされた array + と array_merge の間の差異分析に関するその他の記事については、お支払いくださいPHP 中国語 Web サイトに注意してください。

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