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

yipeiwu_com5年前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自定义函数判断是否为Get、Post及Ajax提交的方法

本文实例讲述了PHP自定义函数判断是否为Get、Post及Ajax提交的方法。分享给大家供大家参考,具体如下: /** * 是否是AJAx提交的 * @return bool...

laravel 实现设置时区的简单方法

laravel 实现设置时区的简单方法

众所周知 laravel 和 php 一样 默认的是英国的格林尼治时间 和我们相差大概8小时 laravel 框架其实 内置了设置时区的方式 打开 config 下的 app.php 找...

解析coreseek for sphinx的使用

1.将下载下来的文件包解压,重新命名为sphinx或者其他。然后放到一个比较合适的位置,一般放到d盘根目录下面。2.找到D:\sphinx\etc里面的csft_mysql.conf这个...

PHP HTML代码串截取代码

而且给的数据是HTML代码串,比如这样: <div class=”aaa”><a href=”/aaa.php?id=1″>张三</a> 评论了 &l...

学习php设计模式 php实现享元模式(flyweight)

学习php设计模式 php实现享元模式(flyweight)

一、意图 运用共享技术有效的支持大量细粒度的对象 享元模式变化的是对象的存储开销 二、享元模式结构图 三、享元模式中主要角色 抽象享元(Flyweight)角色:此角色是所有的具体享元...