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

Posted lewo的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中数组合并的两种方法及区别介绍相关的知识,希望对你有一定的参考价值。

php中数组合并的两种方法及区别介绍,需要的朋友可以参考下

 

PHP数组合并两种方法及区别 

 

1. 如果是关联数组,如下: 

$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相同 

 

2. 如果是数字索引数组,如下: 

$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中数组的定义有几种方法及区别

PHP删除数组中特定元素的两种方法

vscode 中git解决冲突,合并代码的两种方法

php 通过array_merge()和array+array合并数组的区别和效率比较