jcydd

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

 
 
php追加单个元素用array_push();

分类:

技术点:

相关文章:

  • 2021-11-22
  • 2021-11-22
  • 2021-11-22
  • 2021-11-12
  • 2021-11-03
  • 2021-10-09
  • 2021-10-09
猜你喜欢
  • 2021-11-22
  • 2021-11-22
  • 2021-11-22
  • 2021-11-22
  • 2021-11-12
  • 2021-12-29
相关资源
相似解决方案