array_merge与array+array的区别
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
兩個(gè)的區(qū)別是:
1.數(shù)組鍵名為數(shù)字鍵名時(shí),要合并的兩個(gè)數(shù)組中有同名數(shù)字KEY的時(shí)候,使用“+”合并數(shù)組則會(huì)把最先出現(xiàn)的值作為最終結(jié)果返回,而把后面的數(shù)組擁有相同鍵名的那些值“拋棄”掉;使用array_merge()會(huì)以連續(xù)方式從0重新索引,即后面的值將不會(huì)覆蓋原來(lái)的值,而是附加到后面 。
例子:
$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.當(dāng)相同數(shù)組鍵名為字符時(shí),“+”運(yùn)算符與鍵名為數(shù)字時(shí)一樣,但array_merge()此時(shí)會(huì)覆蓋掉前面相同鍵名的值。
例子:
?? $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 )
?
轉(zhuǎn)載于:https://my.oschina.net/ganfanghua/blog/882137
總結(jié)
以上是生活随笔為你收集整理的array_merge与array+array的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 排序算法总结版
- 下一篇: Activiti工作流引擎使用