php合并数组array_merge函数运算符加号与的区别
2015-01-24信息快讯网
array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
两个的区别是:
1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(注意:不是覆盖而是保留最先出现的那个值)。例子:
$array1 = array(1=>'0'); $array2 = array(1=> "data"); $result1 = $array2 + $array1;/*结果为$array2的值*/ print_r($result); $result = $array1 + $array2 ;/*结果为$array1的值*/ print_r($result); $result3 = array_merge($array2,$array1);/*结果为$array2和$array1的值,键名被重新分配*/ print_r($result3); $result4 = array_merge($array1,$array2);/*结果为$array1和$array2的值,键名被重新分配*/ print_r($result4);
输出结果为:
Array ( [1] => data ) Array ( [1] => 0 ) Array ( [0] => data [1] => 0 ) Array ( [0] => 0 [1] => data )
2.当相同数组键名为字符时,“+”运算符与键名为数字时一样,但array_merge()此时会覆盖掉前面相同键名的值。
例子:
$array1 = array('asd'=>'0'); $array2 = array('asd' => "data"); $result1 = $array2 + $array1;/*结果为$array2的值*/ print_r($result); $result = $array1 + $array2 ;/*结果为$array1的值*/ print_r($result); $result3 = array_merge($array2,$array1);/*结果为$array1*/ print_r($result3); $result4 = array_merge($array1,$array2);/*结果为$array2*/ print_r($result4);
输出结果为:
Array ( [asd] => data ) Array ( [asd] => 0 ) Array ( [asd] => 0 ) Array ( [asd] => data )
PHP合并数组+与array_merge的区别分析
PHP IN_ARRAY 函数使用注意事项
PHP 多维数组排序(usort,uasort)
PHP 数组遍历方法大全(foreach,list,each)
PHP extract 将数组拆分成多个变量的函数
PHP 数组排序方法总结 推荐收藏
php数组对百万数据进行排除重复数据的实现代码
PHP array_flip() 删除重复数组元素专用函数
php array_search() 函数使用
php in_array 函数使用说明与in_array需要注意的地方说明
php 数组的合并、拆分、区别取值函数集
PHP array_push 数组函数
php初学者写及时补给skype用户充话费的小程序
如何使用PHP编程说明第1/3页
php数组总结篇(一)
php array_slice函数的使用以及参数详解
PHP中常用数组处理方法实例分析
php数组应用之比较两个时间的相减排序
php中的数组操作函数整理
PHP去除数组中重复的元素并按键名排序函数
php array_merge下进行数组合并的代码
php下判断数组中是否存在相同的值array_unique
深思 PHP 数组遍历的差异(array_diff 的实现)
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array