解析php中array_merge与array+array的区别
array_merge是丢弃原来的数字的key,而保留字符串形式的key,然后组成一个新的数组,不管键名是否一样,都不合并,除非键名和value同时一样并且还必须是字符串形式的key才合并。而array+array就是不管你是什么情况,它都只会先把前面的数组的数据先放到新生成的数组中,之后再看第二个array是否比第一个数组个数多,多的就添加进来,它只数个数,但是这种情况它会添加进来:$a = array('d'=>'aass','e'=>'adsdfd','asd'=>'asdsdd','ddfg'=>'dssdf');
代码如下:
$b = array('d'=>'adddd','adsdfd','asdfsddddd','d'=>'aass');
$d = $a + $b;
$e = array_merge($a,$b);
var_dump($d);
var_dump($e);
打印:
array
'd' => string 'aass' (length=4)
'e' => string 'adsdfd' (length=6)
'asd' => string 'asdsdd' (length=6)
'ddfg' => string 'dssdf' (length=5)
0 => string 'adsdfd' (length=6)
1 => string 'asdfsddddd' (length=10)
array
'd' => string 'aass' (length=4)
'e' => string 'adsdfd' (length=6)
'asd' => string 'asdsdd' (length=6)
'ddfg' => string 'dssdf' (length=5)
0 => string 'adsdfd' (length=6)
1 => string 'asdfsddddd' (length=10)
相关推荐
-
重新认识php array_merge函数
重新认识php array_merge函数 今天因一个Bug重新审视了下array_merge()这个函数. 定义:array_merge - 合并一个或多个数组 规范:array array_merge(array $array1 [, array $...]) 说明: 1. 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面. 2. 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面.
-
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和array相加的区别分析
首先来看看键名是string,两者区别: 复制代码 代码如下: <?php$arr1 = array('a'=>'PHP');$arr2 = array('a'=>'JAVA');//如果键名为字符,且键名相同,array_merge()后面数组元素值会覆盖前面数组元素值print_r(array_merge($arr1,$arr2)); //Array ( [a] => JAVA )//如果键名为字符,且键名相同,数组相加会将最先出现的值作为结果print_r($arr1+$ar
-
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函数运算符加号与的区别
array_merge在参考手册中的说明如下: array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回作为结果的数组. 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面. 两个的区别是: 1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用"+"合并数组则会把最先出现的值作为最终
-
php通过array_merge()函数合并两个数组的方法
本文实例讲述了php通过array_merge()函数合并两个数组的方法.分享给大家供大家参考.具体分析如下: php通过array_merge()函数合并两个数组,array_merge()是一个php函数,用于将两个或者多个数组合并,后一个数组会追加到前一个数组后面,并返回结果数组.它接受两个或两个以上的数组,并返回一个包含了所有元素的数组. $first = array("aa", "bb", "cc"); $second = array(
-
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下进行数组合并的代码
如 $array3=array("性别"=>"男","姓名"=>"不是女人"); $array4=array("性别"=>"不知道","长相"=>"很帅"); 哪么,合并之后,后者将会覆盖前者,这样合并之后就变成了 Array ( [性别] => 不知道 [姓名] => 不是女人 [长相] => 很帅 )
-
PHP合并数组+与array_merge的区别分析
主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值"抛弃"掉(不是覆盖) 2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值"抛弃"掉,但array_merge()此时会覆盖掉前面相同键名的值 需要注意的是数组键形式 '数字' 等价于 数字 复制代码 代
-
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
随机推荐
- jQuery实现获取table中鼠标click点击位置行号与列号的方法
- 详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
- Angularjs的$http异步删除数据详解及实例
- 如何防止JavaScript自动插入分号
- 对注册表进行编辑的三种途径
- javascript实现支持移动设备画廊
- 学习Bootstrap组件之下拉菜单
- 详解PHP的Laravel框架中Eloquent对象关系映射使用
- JavaScript实现自定义媒体播放器方法介绍
- ubuntu如何安装中文输入法
- javascript asp教程第十课--global asa
- Python MD5文件生成码
- 在Linux系统中将Redmine和SVN整合入Nginx的方法
- Java 8 lambda表达式引入详解及实例
- 对xmlHttp对象方法和属性的理解
- java日期工具类实例分享
- 路由器日常维护和故障诊断
- 使用Java编写控制JDBC连接、执行及关闭的工具类
- 一个简单的自动发送邮件系统(一)
- 浅析Android.mk