Home > php教程 > php手册 > body text

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

WBOY
Release: 2016-06-13 11:57:57
Original
817 people have browsed it

PHP数组合并两种方法及区别
如果是关联数组,如下:

复制代码 代码如下:


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



1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的

复制代码 代码如下:


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


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

复制代码 代码如下:


$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每个数组元素,然后将每个元素压入一个新堆栈当中

复制代码 代码如下:


$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已经存在则不处理

复制代码 代码如下:


$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',
)
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template