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

WBOY
풀어 주다: 2016-07-21 15:16:09
원래의
764명이 탐색했습니다.

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',
)

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/325991.htmlTechArticlePHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码 代码如下: $a = array( 'where' = 'uid=1', 'order' = 'uid', ); $b = array( 'where' = 'uid=2', 'orde...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿