php 数组合并array_merge与array_merge_recursive详解

   2025-02-13 6470
核心提示:array_merge和array_merge_recursive是PHP中用于合并数组的两个函数。它们的区别在于当数组键名冲突时的处理方式。array_merge函

array_merge和array_merge_recursive是PHP中用于合并数组的两个函数。它们的区别在于当数组键名冲突时的处理方式。

array_merge函数:array_merge函数将一个或多个数组合并为一个数组。当有多个数组作为参数传入时,它会按顺序将数组合并,后面的数组的元素会追加到前面数组的末尾。如果数组的键名是数字,合并后的键名会重新索引。如果数组的键名是字符串,且有相同的键名,后面的键名会覆盖前面的键名。

示例:

$array1 = array("color" => "red", 2, 4);$array2 = array("a", "b", "color" => "green", "shape" => "circle");$mergedArray = array_merge($array1, $array2);print_r($mergedArray);

输出:

Array(    [color] => green    [0] => 2    [1] => 4    [2] => a    [3] => b    [shape] => circle)
array_merge_recursive函数:array_merge_recursive函数将一个或多个数组递归地合并为一个数组。当有多个数组作为参数传入时,它会按顺序将数组合并,后面的数组的元素会追加到前面数组的末尾。如果数组的键名是数字,合并后的键名会重新索引。如果数组的键名是字符串,且有相同的键名,合并后的值会以数组形式存储。

示例:

$array1 = array("color" => array("favorite" => "red"), 2, 4);$array2 = array("color" => array("favorite" => "green", "blue"), "a", "b");$mergedArray = array_merge_recursive($array1, $array2);print_r($mergedArray);

输出:

Array(    [color] => Array        (            [favorite] => Array                (                    [0] => red                    [1] => green                )            [0] => blue        )    [0] => 2    [1] => 4    [2] => a    [3] => b)

综上所述,array_merge和array_merge_recursive函数都可以用于合并数组,但在处理键名冲突时的方式不同。array_merge会覆盖前面的键名,而array_merge_recursive会将相同键名的值以数组形式存储。根据具体的需求选择适合的函数进行数组合并操作。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言