0
点赞
收藏
分享

微信扫一扫

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


)


举报

相关推荐

0 条评论