PHP中数组合并的两种方法及区别介绍

yipeiwu_com5年前PHP代码库
PHP数组合并两种方法及区别
如果是关联数组,如下:
复制代码 代码如下:

$a = array(
'where' => 'uid=1',
'order' => 'uid',
);
$b = array(
'where' => 'uid=2',
'order' => 'uid desc',
);


1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的
复制代码 代码如下:

<?php
$c = array_merge($a, $b);
var_export($c);//结果与原来的$b相同
$d = array_merge($b, $a);
var_export($d);//结果与原来的$a相同

2. "+"操作符,如果两个数组存在相同的key,前面的一个会覆盖后面的
复制代码 代码如下:

<?php
$c = $a + $b;
var_export($c);//结果与原来的$a相同
$d = $b + $a;
var_export($d);//结果与原来的$b相同


如果是数字索引数组,如下:
复制代码 代码如下:

$a = array(
1 => '1111111',
2 => '222222222'
);
$b = array(
4 => '33333333333',
1 => '444444444'
);

1. array_merge. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中
复制代码 代码如下:

<?php
$c = array_merge($a, $b);
var_export($c);
$d = array_merge($b, $a);
var_export($d);

输出:
array (
0 => '1111111',
1 => '222222222',
2 => '33333333333',
3 => '444444444',
)
array (
0 => '33333333333',
1 => '444444444',
2 => '1111111',
3 => '222222222',
)
2. "+"操作符. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中,如果同样的key已经存在则不处理
复制代码 代码如下:

<?php
$c = $a + $b;
var_export($c);
$d = $b + $a;
var_export($d);

输出:
array (
1 => '1111111',
2 => '222222222',
4 => '33333333333',
)
array (
4 => '33333333333',
1 => '444444444',
2 => '222222222',
)

相关文章

php检测图片主要颜色的方法

本文实例讲述了php检测图片主要颜色的方法。分享给大家供大家参考。具体实现方法如下: $i = imagecreatefromjpeg("image.jpg"); for ($x=0...

Thinkphp实现自动验证和自动完成

Thinkphp实现自动验证和自动完成

Thinkphp的自动验证和自动完成都是根所表单提交的内容来的,对部分数据进行规则验证和处理后插入到数据库。 1、自动验证格式: array( array(验证字段1,验证规则...

PHP编程获取音频文件时长的方法【基于getid3类】

本文实例讲述了PHP编程获取音频文件时长的方法。分享给大家供大家参考,具体如下: 问题: 昨天在新增论坛功能的时候,移动端显示音频文件需要知道是多长的音频; 具体解决方案如下: 首先就是...

PHP实现的AES 128位加密算法示例

本文实例讲述了PHP实现的AES 128位加密算法。分享给大家供大家参考,具体如下: /* 加密算法一般分为两种:对称加密算法和非对称加密算法。 对称加密 对称加密算法是消息发送者和...

PHP简单实现遍历目录下特定文件的方法小结

本文实例讲述了PHP简单实现遍历目录下特定文件的方法。分享给大家供大家参考,具体如下: 1. 使用glob方法 foreach (glob("modules/*.php") as $...