php - 这三个数组如何合并成一个数组,给个思路或者代码谢谢
迷茫
迷茫 2017-04-11 09:23:06
[PHP讨论组]

如何将多个数组里的值进行相加?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
巴扎黑

可以用 array_reduce(數組, 處理函數, 初始值)

array_reduce — 用回调函数迭代地将数组简化为单一的值

<?php

$arr = [
    [
        [ 'count' => 1 ]
    ],
    [
        [ 'count' => 2 ],
        [ 'count' => 67 ],
    ]
    ,
    [
        [ 'count' => 3 ],
        [ 'count' => 2 ],
    ],
];

$sum = array_reduce($arr, function($currentSumOuter, $itemOuter) {
    
    // 這裡是各組中的 count 總和
    // 返回結構是 [ 'count' => 總和 ]
    $sumInner = array_reduce($itemOuter, function($currentSumInner, $itemInner) {
        return [
            'count' => $itemInner['count'] + $currentSumInner['count']
        ];
    }, 0);
    
    // 這裡再按照原先結構,把各組總和再次總和
    return [
        [ 
            'count' => $currentSumOuter[0]['count'] + $sumInner['count']
        ]
    ];
}, 0);


echo '<pre>';
print_r($sum);
echo '</pre>';
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号