Code前端首页关于Code前端联系我们

深入理解PHP中的array_merge函数

terry 2年前 (2023-09-30) 阅读数 45 #PHP
文章标签 PHP

在PHP中,array_merge函数是一个极其常见且实用的函数,用于将一个或多个数组合并为一个数组。

1。基本使用

array_merge函数的基本用法如下:

$array1 = array('key1' => 'value1', 'key2' => 'value2');
$array2 = array('key3' => 'value3', 'key4' => 'value4');
$result = array_merge($array1, $array2);
print_r($result);

执行结果如下:

Array
(
    [key1] => value1
    [key2] => value2
    [key3] => value3
    [key4] => value4
)

如您所见,$array1 和 $array2 合并得到一个新的 $result 数组。

2。参数类型

array_merge 函数支持任意数量的参数,可以是一个或多个字段,也可以是不带字段的参数。如果参数列表包含不在数组中的参数,则这些参数将转换为数组,然后组合。

例如:

$array1 = array('key1' => 'value1', 'key2' => 'value2');
$result = array_merge($array1, 'value3', 'value4');
print_r($result);

执行结果如下:

Array
(
    [key1] => value1
    [key2] => value2
    [0] => value3
    [1] => value4
)

如您所见,'value3'和'value4'被转换为索引数组并与$array1合并以创建一个新数组。

3。重复的键名

如果合并数组中存在相同的键名,则 array_merge 函数将采用最后一个值并覆盖以前的值。

例如:

$array1 = array('key1' => 'value1', 'key2' => 'value2');
$array2 = array('key2' => 'value3', 'key3' => 'value4');
$result = array_merge($array1, $array2);
print_r($result);

执行结果如下:

Array
(
    [key1] => value1
    [key2] => value3
    [key3] => value4
)

可以看到合并$array1和$array2后,$array2中的'key2'=>'value3'覆盖了$array1中的'key2'=>'value2'。

4。具有相同键名称的字段

如果合并字段中存在相同键名的字段,则合并方法会有所不同。

例如:

$array1 = array('key1' => 'value1', 'key2' => array('value2', 'value3'));
$array2 = array('key2' => array('value4', 'value5'), 'key3' => 'value6');
$result = array_merge($array1, $array2);
print_r($result);

执行结果如下:

Array
(
    [key1] => value1
    [key2] => Array
        (
            [0] => value4
            [1] => value5
        )

    [key3] => value6
)

可以看到合并 $array1 和 $array2 后, $array2 中的 'key2' => array('value4', 'value5') 覆盖了 $array1 中的 'key2' => array('value2') , ' value3') 而不是将它们合并到一个字段中。

5。合并多维数组

array_merge 函数还支持合并多维数组,其合并方法与具有相同键名的数组类似。

例如:

$array1 = array('key1' => 'value1', 'key2' => array('key3' => 'value2', 'key4' => 'value3'));
$array2 = array('key2' => array('key4' => 'value4', 'key5' => 'value5'), 'key3' => 'value6');
$result = array_merge($array1, $array2);
print_r($result);

执行结果如下:

Array
(
    [key1] => value1
    [key2] => Array
        (
            [key3] => value2
            [key4] => value4
            [key5] => value5
        )

    [key3] => value6
)

可以看到,合并 $array1 和 $array2 后,$array2 中的 'key2' => array('key4' => 'value4', 'key5' => 'value5') 会覆盖 $array1 中的内容' key2 ' => array('key3' => 'value2', 'key4' => 'value3') 而不是将它们合并到一个数组中。

6。总结

array_merge 函数是 PHP 中非常实用且常用的函数。它可用于将一个或多个数组合并为一个数组,并支持合并多维数组。但需要注意的是,如果合并字段中存在相同的键名,则以最后显示的值为准,并覆盖之前的值。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门