解析php中array_merge与array+array的区别

yipeiwu_com6年前PHP代码库
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简单装饰器模式实现与用法示例

本文实例讲述了PHP简单装饰器模式实现与用法。分享给大家供大家参考,具体如下: <?php //装饰器模式-在不改变原有类的结构上,对类的功能那个作补充 //武器基类...

使用Linux五年积累的一些经验技巧

1. bash中的$相关参数 复制代码 代码如下:$0 - 表示当前文件名  $* - 以空格分离所有参数,形成一个字符串  $@ - 以空格分离所有参数,形成一个字...

PHP 面向对象详解

对象的主要三个特性 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为。 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型。 对象的表示:对象的表示就相当于身份证,具体区...

PHP5多态性与动态绑定介绍

什么是多态性? 多态性是继数据抽象和继承后,面向对象语言的第三个特征。从字面上理解,多态的意思是“多种形态”,简单来说,多态是具有表现多种形态的能力的特征,在OO中是指“语言具有根据对象...

JSON在PHP中的应用介绍

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。 一、json_encode() 该函数主要用来将数组和对象,转换...