为了账号安全,请及时绑定邮箱和手机立即绑定

总结多个数组

总结多个数组

PHP
婷婷同学_ 2021-10-22 14:42:34
我有数组形式的查询 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)
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

不确定示例中为什么有 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

        )


)


查看完整回答
反对 回复 2021-10-22
  • 1 回答
  • 0 关注
  • 138 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信