PHP array_merge()函数改进
array_merge()PHP中的函数是一种将一个或多个数组加在一起的简便方法。这是一个如何使用它的例子。
$array1 = array(3, 21, 12); //设置第一个数组 $array2 = array(63, 1, 9); //设置第二个数组 $array3 = array_merge($array1, $array2); //合并数组 print_r($array3); //打印!
这将打印以下内容。
Array ( [0] => 3 [1] => 21 [2] => 12 [3] => 63 [4] => 1 [5] => 9 )
此功能的唯一问题是它将重置所有数字键,因此以下示例将产生错误的结果。
$array1 = array(2 => 3, 45 => 21, 55 => 12); $array2 = array(22 => 63, 42 => 1, 1 => 9); $array3 = array_merge($array1, $array2); print_r($array3);
这将打印出与前面的示例完全相同的内容。因此,为了在合并数组时停止重置键,您需要使用以下合并数组并保持键完整的函数。
function array_merge_keys(){ $args = func_get_args(); $result = array(); foreach ($args as &$array) { foreach ($array as $key=>&$value) { $result[$key] = $value; } } return $result; }
您可以按照与相同的方式使用它array_merge()。
$array3=array_merge_keys($array1,$array2);
这将产生以下结果。
Array ( [2] => 3 [45] => 21 [55] => 12 [22] => 63 [42] => 1 [1] => 9 )
所有阵列键均完好无损。但是,如果两个键重叠,则优先添加的是最后添加的键。