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

 
 
php追加單個元素用array_push();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM