一张截图概括A+B与array_merge(A,B)的区别
merge操作:相同的字符键改写,相同的数字键重新编号;
+号操作:B类似于候补选手,如果B中的键在A中存在,则B的这对键值没机会上场
再看array_merge_recursive(A,B)
array_merge_recursive(
[
"a" => "red",
"b" => [
"green",
]
],
[
"c" => "blue",
"b" => [
"yellow",
]
]
);
/* 结果如下
[
"a" => "red",
"b" => [
"green",
"yellow",
],
"c" => "blue",
]
*/
array_merge_recursive(
[ "b" => "green"],
[ "b" =>
["yellow"]
]
);
/* 合并后 b 的键值并不是 ["green", ["yellow"]] 而是下面这样
[
"b" => [
"green",
"yellow",
],
]
*/
array_merge_recursive(
"green",
[
"yellow"
]
);
//报错 Expected parameter 1 to be an array
本作品采用《CC 协议》,转载必须注明作者和本文链接