服务器之家

服务器之家 > 正文

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

时间:2020-01-09 18:28     来源/作者: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', 
)

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部