2016-07-22 11:38:50 3168次浏览 5条回答 1 悬赏 10 金钱
$arr = array(
    array(
        'a' => '4',
        'b' => '13',
        'c' => '2',
        'd' => '5',
    ),
    array(
        'a' => '1',
        'b' => '2',
        'c' => '3',
        'd' => '4',
    ),
);

我想求得到

array(
        'a' => 'a的和',
        'b' => 'b的和',
        'c' => 'c的和',
        'd' => 'd的和',
 )
  • 回答于 2016-07-22 13:10 举报

    得到a的值:

    array_sum(array_column($arr,'a'))
    
    觉得很赞
  • 回答于 2016-07-22 15:56 举报

    两种吧,一个函数,一个循环。。其他的不知。

  • 回答于 2016-07-23 21:04 举报

    说两种我觉得比较优雅的方法吧,其实也可以算作一种~~

    $init = array(
        'a' => '0',
        'b' => '0',
        'c' => '0',
        'd' => '0',
    );
    // 方法一
    $result = array_reduce($arr, function($prev, $next) {
        return array(
            'a' => $prev['a'] + $next['a'],
            'b' => $prev['b'] + $next['b'],
            'c' => $prev['c'] + $next['c'],
            'd' => $prev['d'] + $next['d']
        );
    }, $init);
    
    // 方法二
    $keys = ['a', 'b', 'c', 'd'];
    $result = array_reduce($arr, function($prev, $next) use($keys) {
        $sumResult = [];
        foreach ($keys as $key) {
            $sumResult[$key] = $prev[$key] + $next[$key];
        }
        return $sumResult;
    }, $init);
    
  • 回答于 2016-07-25 16:12 举报

    帅哥我来顶个帖以便有钱可以发帖。

  • 回答于 2016-07-26 08:45 举报

    这话说的也是够够够的

您需要登录后才可以回答。登录 | 立即注册
acking
总监

acking 上海

注册时间:2012-05-16
最后登录:2024-04-16
在线时长:65小时44分
  • 粉丝13
  • 金钱2560
  • 威望0
  • 积分3210

热门问题