php多维数组合并

来源:csdn博客 分类: 文章浏览史 发布时间:2020-08-11 10:02:26 最后更新:2020-08-11 浏览:81
转载声明:
本文为摘录自“csdn博客”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2020-08-11 10:02:26

* Arr.php

<?php

namespace app\common\utils;


class Arr
{
    /**
     * 多维数组合并 例如关联数组配置项默认值处理
     * @param $array1
     * @param $array2
     * @return array
     */
    public static function mergeMultiple($array1, $array2) {
        // $merge = $array1 + $array2;
        $merge = $array1;
        foreach ($array2 as $k => $v) {
            if (!isset($array1[$k])) {
                $merge[$k] = $array2[$k];
            }
        }
        $data = [];
        foreach ($merge as $key => $val) {
            if (
                isset($array1[$key])
                && is_array($array1[$key])
                && isset($array2[$key])
                && is_array($array2[$key])
            ) {
                $data[$key] = Arr::mergeMultiple($array1[$key], $array2[$key]);
            } else {
                $data[$key] = isset($array2[$key]) ? $array2[$key] : $array1[$key];
            }
        }
        return $data;
    }

}

 


 

php技术微信