PHP中使用函式array_merge()合併陣列

五嶽之巔發表於2009-10-09
PHP中合併陣列分成兩種情況
1、如果這兩個陣列中有相同的字串鍵名:
<?php
 
 $book1 = array(`linux`=>`linux伺服器配置與管理`,`php`=>`PHP程式設計`);
 $book2 = array(`linux`=>`伺服器配置與管理`,`jsp`=>`PHP`);
 
 $result = array_merge($book1,$book2);
 print_r($result);
?>
輸出為:
Array ( [linux] => 伺服器配置與管理 [php] => PHP程式設計 [jsp] => PHP )
 
說明,後者將替換前者。但如果使用的是array_merge_recursive()則可保留,並作一個子陣列存在。如:
 
<?php
 
 $book1 = array(`linux`=>`linux伺服器配置與管理`,`php`=>`PHP程式設計`);
 $book2 = array(`linux`=>`伺服器配置與管理`,`jsp`=>`PHP`);
 
 $result = array_merge_recursive($book1,$book2);
 print_r($result);
?>
輸出為:
Array ( [linux] => Array ( [0] => linux伺服器配置與管理 [1] => 伺服器配置與管理 ) [php] => PHP程式設計 [jsp] => PHP )
 
2、如果這兩個陣列中有相同的數值鍵名:
<?php
 
 $book1 = array(`linux伺服器配置與管理`,`PHP程式設計`);
 $book2 = array(`伺服器配置與管理`,`PHP`);
 
 $result = array_merge($book1,$book2);
 print_r($result);
?>
結果是:
Array ( [0] => linux伺服器配置與管理 [1] => PHP程式設計 [2] => 伺服器配置與管理 [3] => PHP )
 
這時,如果陣列中包含相同的數字鍵名,則後面的不會覆蓋前面的值,而是後面的鍵值按順序依次增加,附在後邊。明白了嗎,^_^


相關文章