php数组合并并保持两个数组的键名都不变,array_merge会使键名发生变化,有其他函数吗?
键名如果都是唯一的.. 写个循环来组一个新的数组就可以了:
$a = array("a" => "avalue", "b" => "bvalue");
$b = array("c" => "cvalue", "d" => "dvalue");
$c = array();
foreach( $a as $key => $value ) {
$c[$key] = $value;
}
foreach( $b as $key => $value ) {
$c[$key] = $value;
}
【PHP array_merge() 函数】
定义和用法
array_merge() 函数把一个或多个数组合并为一个数组。
提示:您可以向函数输入一个或者多个数组。
注释:如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。
注释:如果您仅向 array_merge() 函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引(参见下面的实例 1)。
提示:该函数与 array_merge_recursive() 函数之间的不同是在处理两个或更多个数组元素有相同的键名的情况。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。