php 中數組合併的方式及其區別
05-14
$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 |