PHP数组相加操作及与array_merge的区别浅析
发现问题
今天看到一段代码,是这么写的,感觉不熟悉,下面粘贴出来看看:
<?php $array_one = [ 内容 ]; $array_two = [ 内容 ]; //关键的在这里 $array_result = $array_one + $array_two; echo "<pre/>"; print_r($array_result); ?>
我感觉奇怪的地方,就是数组$array_one
与数组$array_two
直接进行相加操作,我之前进行数组合并操作都是按照array_merge()
函数进行操作的,重来没有用到过上面的方式直接进行运算。
分析如下
下面就简单说明以下,这种方式与array_merge()
函数的方式之间有什么区别。使用”+”号直接进行运算的时候,是以”+”号前面的数组为基准数组,如果”+”号后面的数组存在与前面的数组中完全一致的(完全一致指的是key相同并且value也相同的),就以前面数组中的数据为准。如果是使用array_merge()
就相反,是以后面的数组为基准。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
PHP合并数组+号和array_merge的区别
PHP的数组融合一般有两种做法,一种是直接使用加号相加,另一种则是使用array_merge函数进行相加,两者之间有点区别: 1.相加会证数组中的自然index不被重置 2.相加方法中,被加的数组内的值不会被覆盖 3.merge函数中的自然index会被重置 4.merge函数,无所谓被merge和merge关系,越后面的array参数,其值,会覆盖较前面的array参数相同键的值 例子: 数组1: $arr1 = array( 10 => 'valueof10', 11 => 'valueo
-
php函数array_merge用法一例(合并同类数组)
复制代码 代码如下: $arr1 = $dblink->mem_fetch_array ( "SELECT t_pid,imgname,invented,score FROM `t_sum_giftimg` where t_pid=3 or t_pid=6", 0 ); $arr2 = $dblink->mem_fetch_array ( "SELECT t_pid,imgname,invented,score FROM `t_sum_giftimg` wher
-
php通过array_merge()函数合并两个数组的方法
本文实例讲述了php通过array_merge()函数合并两个数组的方法.分享给大家供大家参考.具体分析如下: php通过array_merge()函数合并两个数组,array_merge()是一个php函数,用于将两个或者多个数组合并,后一个数组会追加到前一个数组后面,并返回结果数组.它接受两个或两个以上的数组,并返回一个包含了所有元素的数组. $first = array("aa", "bb", "cc"); $second = array(
-
php数组合并array_merge()函数使用注意事项
1.array_merge()合并 例子 $array = array('a'=>'bb'); $array2 = array('b'=>'cc'); $array3 = array_merge($array,$array2); 输出结果为 Array ( [a] => bb [b] => cc ) 上面因为都是数组就没有问题了,假如我们把$array 设置不是数组看看什么情况 $array = 1;//array('a'=>'bb'); $array2 = array('b
-
php通过array_merge()函数合并关联和非关联数组的方法
本文实例讲述了php通过array_merge()函数合并关联和非关联数组的方法.分享给大家供大家参考.具体分析如下: array_merge()是一个用于合并数组的php函数,后一个数组追加到前一个的结束位置并返回合并后的结果数组. <?php $beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result); ?>
-
PHP合并数组+与array_merge的区别分析
主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值"抛弃"掉(不是覆盖) 2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值"抛弃"掉,但array_merge()此时会覆盖掉前面相同键名的值 需要注意的是数组键形式 '数字' 等价于 数字 复制代码 代
-
php中用加号与用array_merge合并数组的区别深入分析
我们首先给出两个数组 复制代码 代码如下: <?php $r = array(1,2,3,4,5,6); $e = array(7,8,9,10); ?> 下面我们用array_merge和加号来何必这两数组 复制代码 代码如下: <?php print_r($r+e); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] =&g
-
PHP使用array_merge重新排列数组下标的方法
本文实例讲述了PHP使用array_merge重新排列数组下标的方法.分享给大家供大家参考.具体如下: 用了一个array_unique去除了一个数组里面的重复,但是发现下标保留了原数组的下标,但是php使用for循环需要下标整齐,所以寻找重新排列数组下标的方法array_merge可以解决这个问题 array_merge() 函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果
-
php合并数组array_merge函数运算符加号与的区别
array_merge在参考手册中的说明如下: array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回作为结果的数组. 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面. 两个的区别是: 1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用"+"合并数组则会把最先出现的值作为最终
-
php array_merge下进行数组合并的代码
如 $array3=array("性别"=>"男","姓名"=>"不是女人"); $array4=array("性别"=>"不知道","长相"=>"很帅"); 哪么,合并之后,后者将会覆盖前者,这样合并之后就变成了 Array ( [性别] => 不知道 [姓名] => 不是女人 [长相] => 很帅 )
随机推荐
- python+pyqt实现右下角弹出框
- Lua中的协同程序之resume-yield间的数据返回研究
- 一个简陋的java图书管理系统
- vsftpd配置文件详解
- Java Set集合的遍历及实现类的比较
- PHP实现统计在线人数功能示例
- python根据出生日期返回年龄的方法
- js去除浏览器默认底图的方法
- 基于php的CMS中展示文章类实例分析
- 说一说Python logging
- JavaScript更改原始对象valueOf的方法
- 怎样防止别人用ipc$和默认共享入侵
- php计算两个坐标(经度,纬度)之间距离的方法
- Android ListView常见的优化方式详解
- 优化Java虚拟机总结(jvm调优)
- python实现手机通讯录搜索功能
- 关于C#数强转会不会抛出异常详解
- 手把手教你使用Python创建微信机器人
- php实现 master-worker 守护多进程模式的实例代码
- docker-compose部署php项目实例详解