PHP:数值数组叠加的递归方法

-数值数组叠加的递归方法:几个相同格式的数组的对应项叠加,得到一个此种格式的数组
-@param array(数组1, 数组2, ...)
-@return array 数组为上面数组1,数组2,...的对应项叠加

function ToOne($arr1, $arr2) {
    foreach ($arr1 as $k1 => $v1) {
        if (!is_array($v1)) {
            $arr1[$k1] = $arr1[$k1] + $arr2[$k1];
        } else {
            $arr1[$k1] = ToOne($arr1[$k1], $arr2[$k1]);
        }       
    }
    return $arr1;
}

$arr1 = [
    1,
    'zsh' => [
        2,
        'zsk' => [
            3,
            'dihezsh' => [
                4,
                'dihezsk' => 5
            ]
        ]
    ]
];

$arr2 = [
    1,
    'zsh' => [
        2,
        'zsk' => [
            3,
            'dihezsh' => [
                4,
                'dihezsk' => 5
            ]
        ]
    ]
];

echo '<pre>';
print_r($arr1);
echo "</pre>";

echo '<pre>';
print_r(ToOne($arr1, $arr2));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,774评论 0 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  • 忠犬八公的故事在网络上可以搜索到的视频有87年日本版本和09年美国版本。 日本版还原了八公的故事。美国版本则是对八...
  • 2017年5月实际阅读8本 《跟钱钱学理财》17.5.1-5.3 为了配合3期活动的配文看的,作者在里面举了很多实...
    煜书房阅读 306评论 0 2