array merge和 號合併陣列的區別

2021-09-14 01:04:01 字數 1175 閱讀 1552

先看栗子:

$a = [51 => 12345];

$b = [10 => 5678];

$c = ;

$c = array_merge($c,$a,$b);

// array ( [0] => 12345 [1] => 5678 )

$a = [51 => 12345];

$b = [51 => 5678];

$c = ;

$c = array_merge($c,$a,$b);

print_r($c); // array ( [0] => 12345 [1] => 5678 )

$a = ['aa' => 12345];

$b = ['aa' => 5678];

$c = ;

$c = array_merge($c,$a,$b);

print_r($c);// array ( [aa] => 5678 )

值覆蓋情況: 只考慮字串索引的鍵值對, 用後邊陣列的值覆蓋掉前面陣列中鍵名相同的值

數字索引的值則不覆蓋,同時保留

另外:array_merge()會重排兩個陣列的數字索引,+則不會。

$a = [51 => 12345];

$b = [10 => 5678];

$c = ;

$c = $a+$b;

// array ( [51] => 12345 [10] => 5678 )

$a = [51 => 12345];

$b = [51 => 5678];

$c = ;

$c = $a+$b;

print_r($c); // array ( [51] => 12345 )

$a = ['aa' => 12345];

$b = ['aa' => 5678];

$c = ;

$c = $a+$b;

print_r($c);// array ( [aa] => 12345 )

值覆蓋情況: 既考慮數字索引的鍵值對,也考慮字串索引的鍵值對, 用前邊陣列的值覆蓋後邊的鍵名相同的值.

php 和array merge合併陣列

array merge函式會用第二個引數表示的陣列中同名鍵的值覆蓋第乙個引數表示的陣列中同名鍵的值,數值鍵不會覆蓋,並且會重新索引。只會將第二個陣列中不存在於第乙個陣列中的鍵的鍵值對加入第乙個陣列,不管是數值鍵還是其他鍵,而數值鍵不會重新索引。arr1 3 q 2 w a e b r arr 2 t...

php陣列合併 array merge與 「 」

php中陣列合併有兩種方式 array merge 與 使用方式如下 arr array merge arr1 arr2 arr arr1 arr2 兩種方式看似相同,但使用中 坑 還是不少的。看下面的例子 arr1 array 3,3476,123,45,45,a 79 arr2 array 40...

php合併陣列array merge 與 的區別

arr1 array a name test1 1 arr2 array a 1,name test2 var dump array merge arr1,arr2 array 5 鍵名為數字時,用array merge 合併陣列,後面陣列的值不會覆蓋前面陣列的相同鍵名值,而是都作為結果返回 鍵名為...