標籤:

php 中數組合併的方式及其區別

$a=array("1"=>1,c=>2);$b=array("a"=>3,c=>5);$c=$a+$b;var_dump($c);var_dump(array_merge($a,$b));var_dump(array_merge_recursive($a,$b));結果:array(3) { [1]=> int(1) ["c"]=> int(2) ["a"]=> int(3)}array(3) { [0]=> int(1) ["c"]=> int(5) ["a"]=> int(3)}array(3) { [0]=> int(1) ["c"]=> array(2) { [0]=> int(2) [1]=> int(5) } ["a"]=> int(3)}

區別:

+ key 會完整的保留下來,但字元串數字key變成了數字key了,且合併有相同的key,保留第一個key的值

array_merge 數字key會被歸為0,含有相同key的情況下,保留第二個的key的值

array_merge_recursive 數字key會被歸為0,含有相同key的情況下,會把合成一個數組。

從效率上講 + 效率要高與 array_merge

推薦閱讀:

8 個 PHP 的軟體質量控制工具推薦(包含 QA 工具和測試工具)
待進階的phper 想要通讀一個開源項目源碼,應該研究哪個較好?
為什麼 C++ / PHP / Delphi / C# 的設計者都是丹麥人?
輕鬆搞定|將PHP和Couchbase應用部署為Docker
PHP這樣優化有可能嗎?

TAG:PHP |