array_merge 和 數組 +

#前提:必須都是數組類型,如果其中一個是null,會產生bug

#索引數組
$arr1 = [1 => 'one', 3 => 'three'];
$arr2 = [1 => 'new one', 6 => 'six'];
$result1 = array_merge($arr1, $arr2);
$result2 = $arr1 + $arr2;

print_r($result1);
/*
Array
(
    [0] => one
    [1] => three
    [2] => new one
    [3] => six
)
*/

print_r($result2);
/*
Array
(
    [1] => one
    [3] => three
    [6] => six
)
*/

#1、array_merge就是簡單的數組追加,即使索引相同也不會出現覆蓋的情況。這也註定了新數組的索引會被重寫。變爲0,1,2,3…
#2、+的方式在遇到索引相同時,保留前者拋棄後者

$arr3 = ['name' => '張三', 'age' => 21];
$arr4 = ['name' => '李四', 'age' => 22];
$result3 = array_merge($arr3, $arr4);
$result4 = $arr3 + $arr4;
print_r($result3);
Array
(
    [name] => 李四
    [age] => 22
)

print_r($result4);
Array
(
    [name] => 張三
    [age] => 21
)

#1、array_merge鍵名相同,後者覆蓋前者
#2、+依舊是保留前者拋棄後者


#實際操作中,array_merge用得多

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章