array_merge与array+array的区别
2019独角兽企业重金招聘Python工程师标准>>>
两个的区别是:
1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉;使用array_merge()会以连续方式从0重新索引,即后面的值将不会覆盖原来的值,而是附加到后面 。
例子:
$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 )
转载于:https://my.oschina.net/ganfanghua/blog/882137
array_merge与array+array的区别相关推荐
- PHP中array_merge和array相加的区别分析
首先来看看键名是string,两者区别: <?php $arr1 = array('a'=>'PHP'); $arr2 = array('a'=>'JAVA'); //如果键名为字符 ...
- PHP中array_merge函数与array+array的区别
在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别. 区别如下: 1当下标为数值时,array_m ...
- php 通过array_merge()和array+array合并数组的区别和效率比较
众所周知合并两个数组可以使用array_merge(),这是php提供的一个函数.另外还可以通过 array 的方式来合并数组,这两种直接有什么区别,哪一个的效率更高呢? array_merge() ...
- PHP array_flip() array_merge() array+array的使用总结
array_flip(array); //传递一个数组参数,对该数组的键.值进行翻转 例如: $a = array('a','b','c' ); print_r(array_flip($a));//输 ...
- java中Array和ArrayList区别 可以将 ArrayList想象成一种会自动扩增容量的Array
java中Array和ArrayList区别 1)精辟阐述: 可以将 ArrayList想象成一种"会自动扩增容量的Array https://blog.csdn.net/ywjy10280 ...
- Array和ArrayList区别
Array和ArrayList区别 Array 在C#中的数组也是对象,实际上是Array类的实例. 主要区别 Array类型的变量在声明的同时,必须进行实例化,至少是初始化数组的大小,而 Array ...
- 解析C#中[],List,Array,ArrayList的区别及应用
一:区别 [] 特定类型 固定长度的 int[] arr = new int[] { 1, 2, 3 }; List 特定类型 任意长度 List<int> list = new Li ...
- HashMap 和 Array 有什么区别?
HashMap 和 Array 有什么区别? 查找效率 HashMap因为其根据hashcode的值直接算出index,所以其查找效率是随着数组长度增大而增加. ArrayMap使用的是二分法,当数组 ...
- array,array.array,np.array的区别
list.array.array.numpy.array的区别 list,不限定数据类型.使用起来非常灵活,但带来的缺点是速度相对较慢,因为对每一个元素要检查数据类型: myList = [i for ...
- LeetCode 26 Remove Duplicates from Sorted Array [Array/std::distance/std::unique] c++
LeetCode 26 Remove Duplicates from Sorted Array [Array/std::distance/std::unique] <c++> 给出排序好的 ...
最新文章
- CIO的职业之路应该朝向何方 做主角还是配角?
- 刘启成_编写并使用shell脚本
- FTPHelper-FTP帮助类,常用操作方法
- nvme通用驱动_对领域驱动设计的理解与实践
- BZOJ 2763: [JLOI2011]飞行路线 spfa dp
- mysql5.7.26修改账号密码_修改mysql5.7的用户密码
- [转]关于Linux下时间片分配给进程还是线程的问题
- 微服务化的基石--持续集成
- Oracle11g常用数据字典(转)
- is not allowed for source level below 1.7 的解决办法
- 程序员的职业素养---转载
- [2018.07.17 T2] Palindromes
- html 页面加载中 请稍候,html 提示“数据在加载中,请稍后……”
- Java开发工程简历模板
- 感冒为什么会流鼻涕?
- huge形式_Linux hugepage使用与实现
- Hibernate ORM - 一对多双向关联关系(我是韦小宝)
- 连平县新视界-连平2018年公开招聘教职员66人
- 2022年化工自动化控制仪表考试总结及化工自动化控制仪表模拟考试
- 职场智慧:君子应处木雁之间,当有龙蛇之变