PHP 函数库--踩坑日常

array_merge 和 array_merge_recursive

array_merge_recurisve

说明

array_merge_recurisve( array $array1 [,array $... ] ) : array

array_merge_recurisve() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。
需要注意的是,如果数组具有相同的数值键名,后一个值将不会覆盖原来的值,而是附加到后面。

范例

<?php
        $arr1 = [
            'color' => ['favorite' => 'red'],
            5
        ];
        $arr2 = [
            10,
            'color' => ['favorite' => ['green', 'blue']],
        ];
        $res = array_merge_recursive($arr1, $arr2);
        var_dump($res);
?>

以上例程会输出:

        array(
            'color' =>
                array(
                    'favorite' =>
                        array(
                            0 => 'red',
                            1 => 'green',
                            2 => 'blue',
                        ),
                ),
            0 => 5,
            1 => 10,
        );

array_merge

说明

array_merge( array $arraty1 [, array $... ] ) : array

array_merge()将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引

范例

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

以上例程会输出:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!