|
array_merge() 將兩個或多個數(shù)組的單元合并起來,一個數(shù)組中的值附加在前一個數(shù)組的后面。返回作為結(jié)果的數(shù)組。
如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數(shù)組包含數(shù)字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。
兩個的區(qū)別是:
1.數(shù)組鍵名為數(shù)字鍵名時,要合并的兩個數(shù)組中有同名數(shù)字KEY的時候,使用array_merge()不會覆蓋掉原來的值,而使用“+”合并數(shù)組則會把最先出現(xiàn)的值作為最終結(jié)果返回,而把后面的數(shù)組擁有相同鍵名的那些值“拋棄”掉(注意:不是覆蓋而是保留最先出現(xiàn)的那個值)。例子:
復制代碼 代碼如下:
$array1 = array(1=>'0');
$array2 = array(1=> "data");
$result1 = $array2 + $array1;/*結(jié)果為$array2的值*/
print_r($result);
$result = $array1 + $array2 ;/*結(jié)果為$array1的值*/
print_r($result);
$result3 = array_merge($array2,$array1);/*結(jié)果為$array2和$array1的值,鍵名被重新分配*/
print_r($result3);
$result4 = array_merge($array1,$array2);/*結(jié)果為$array1和$array2的值,鍵名被重新分配*/
print_r($result4);
輸出結(jié)果為:
復制代碼 代碼如下:
Array
(
[1] => data
)
Array
(
[1] => 0
)
Array
(
[0] => data
[1] => 0
)
Array
(
[0] => 0
[1] => data
)
2.當相同數(shù)組鍵名為字符時,“+”運算符與鍵名為數(shù)字時一樣,但array_merge()此時會覆蓋掉前面相同鍵名的值。
例子:
復制代碼 代碼如下:
$array1 = array('asd'=>'0');
$array2 = array('asd' => "data");
$result1 = $array2 + $array1;/*結(jié)果為$array2的值*/
print_r($result);
$result = $array1 + $array2 ;/*結(jié)果為$array1的值*/
print_r($result);
$result3 = array_merge($array2,$array1);/*結(jié)果為$array1*/
print_r($result3);
$result4 = array_merge($array1,$array2);/*結(jié)果為$array2*/
print_r($result4);
輸出結(jié)果為:
復制代碼 代碼如下:
Array
(
[asd] => data
)
Array
(
[asd] => 0
)
Array
(
[asd] => 0
)
Array
(
[asd] => data
)
php技術(shù):php合并數(shù)組array_merge函數(shù)運算符加號與的區(qū)別,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。