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

PHP 中合并数组

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

PHP 中的数组是非常重要的数据类型,开发人员经常需要合并数组。本文展示了在 PHP 中合并数组的四种不同方法,包括“+”、“array_merge()”、“array_merge_recursive()”和“array_replace()”函数。

1。使用“+”运算符合并数组

在 PHP 中合并数组最简单的方法是使用“+”运算符。此方法允许您将两个数组合并为一个,并且仅保留第一个重复的键值对。

$firstArray = array('name' => 'Tom', 'age' => 20, 'city' => 'Beijing');
$secondArray = array('name' => 'Jerry', 'tel' => '123456789', 'city' => 'Shanghai');

$mergedArray = $firstArray + $secondArray;

print_r($mergedArray);

输出结果:

Array
(
    [name] => Tom
    [age] => 20
    [city] => Beijing
    [tel] => 123456789
)

如您所见,合并后的数组在 $firstArray 中保留了三个键值对“name”、“age”和“city”,并在 $secondArray 中添加了键值对“tel”。

2。使用 array_merge() 函数合并数组

PHP 的 array_merge() 函数可以将任意数量的数组组合成一个数组。如果数组具有相同的字符串键,则后面的值将覆盖前面的值,并且数字键将重新索引。

$firstArray = array('name' => 'Tom', 'age' => 20, 'city' => 'Beijing');
$secondArray = array('name' => 'Jerry', 'tel' => '123456789', 'city' => 'Shanghai');
$thirdArray = array('gender' => 'male', 'city' => 'Guangzhou');

$mergedArray = array_merge($firstArray, $secondArray, $thirdArray);

print_r($mergedArray);

输出结果:

Array
(
    [name] => Jerry
    [age] => 20
    [city] => Guangzhou
    [tel] => 123456789
    [gender] => male
)

其中,$thirdArray“city”键值对覆盖了$firstArray和$secondArray“city”键值对。

3。使用 array_merge_recursive() 合并数组

array_merge_recursive() 与 array_merge() 类似,可以将任意数量的数组组合成一个数组。但不同的是,如果数组中有相同的字符串键名,它们的值会以数组形式合并,而不是覆盖。

$firstArray = array('name' => 'Tom', 'age' => 20, 'city' => array('Beijing', 'Shanghai'));
$secondArray = array('name' => 'Jerry', 'tel' => '123456789', 'city' => 'Shanghai');

$mergedArray = array_merge_recursive($firstArray, $secondArray);

print_r($mergedArray);

输出结果:

Array
(
    [name] => Array
        (
            [0] => Tom
            [1] => Jerry
        )

    [age] => 20
    [city] => Array
        (
            [0] => Beijing
            [1] => Shanghai
            [2] => Shanghai
        )

    [tel] => 123456789
)

可以看到,$firstArray 和 $secondArray 中都有“city”键值对,但它们的值类型不同。在合并后的数组中,“city”键值对的值成为包含三个元素的数组。

4。使用 array_replace() 函数合并数组

array_replace()函数可以将一个数组的值替换为另一个数组对应的值。

$firstArray = array('name' => 'Tom', 'age' => 20, 'city' => 'Beijing');
$secondArray = array('name' => 'Jerry', 'tel' => '123456789', 'city' => 'Shanghai');

$replacedArray = array_replace($firstArray, $secondArray);

print_r($replacedArray);

输出结果:

Array
(
    [name] => Jerry
    [age] => 20
    [city] => Shanghai
    [tel] => 123456789
)

可以看到$secondArray中的键值对替换了$firstArray中对应的键值对。

总结

本文展示了使用“+”运算符、array_merge()、array_merge_recursive() 和 array_replace() 合并 PHP 数组的四种方法。不同的方法适合不同的场景。在实际开发过程中,必须根据情况选择合适的方法。

版权声明

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

热门