总结多个数组

我有数组形式的查询 2:


结果1:


  0 => 

    array (size=2)

      'uid' => string '1' (length=5)

      'total' => string '100' (length=18)

  1 => 

    array (size=2)

      'uid' => string '2' (length=5)

      'total' => string '200' (length=18)

结果2:


 0 => 

    array (size=2)

      'uid' => string '1' (length=5)

      'payment' => string '101' (length=7)

  1 => 

    array (size=2)

      'uid' => string '2' (length=5)

      'payment' => string '102' (length=5)

我使用将这两个数组合并为 1 array_merge


$a_m = array_merge($result,$result2);

        foreach ($a_m as $value) {

            $group[$value['uid']][] = $value;

        }

所以,数组现在按 uid 分组


输出:


1 => 

    array (size=2)

      0 => 

        array (size=2)

          'uid' => string '1' (length=5)

          'total' => string '100' (length=17)

      1 => 

        array (size=2)

          'uid' => string '1' (length=5)

          'payment' => string '101' (length=7)

2 => 

    array (size=2)

      0 => 

        array (size=2)

          'uid' => string '2' (length=5)

          'total' => string '200' (length=17)

      1 => 

        array (size=2)

          'uid' => string '2' (length=5)

          'payment' => string '201' (length=7)

所以,现在我需要总结payment,并total根据uid。我遇到了如何获取payment和totalin 数组可以总结这两个值的问题?


$total_value = $payment + $total;

我需要这样的结果(我不确定结果的形式,因为我只需要先总结值)


0 => 

    array (size=2)

      'uid' => string '1' (length=5)

      'total_value' => string '201' (length=18)

  1 => 

    array (size=2)

      'uid' => string '2' (length=5)

      'total_value' => string '402' (length=18)


婷婷同学_
浏览 139回答 1
1回答

牧羊人nacy

不确定示例中为什么有 123 和 456,但要获得“总计”+“付款”的结果,并且如果始终有 2 个数组,1 个用于总计,1 个用于付款,一种选择可能是使用 array_map .在我使用的示例中$array,但在您的代码中将是$group[$value['uid']].$result = array_map(function($x) {    return  ['uid' => $x[0]['uid'], 'total_value' => (float)($x[0]['total']) + (float)($x[1]['payment'])];}, $arrays);print_r($result);结果Array(    [0] => Array        (            [uid] => 1            [total_value] => 201        )    [1] => Array        (            [uid] => 2            [total_value] => 401        ))
打开App,查看更多内容
随时随地看视频慕课网APP