【问题标题】:PHP multi dimentional array sum and make unique [duplicate]PHP多维数组求和并使唯一[重复]
【发布时间】:2019-05-20 10:54:29
【问题描述】:

以下是我的数组。我需要根据每个 emp_firstname 添加它的 Sum 字段。有的只来一次,有的来两次。我们如何对字段求和并使数组唯一?

Array
(
    [0] => Array
        (
            [emp_firstname] => Alistair
            [non_pm] => AMZ
            [sum] => 2
        )


    [1] => Array
        (
            [emp_firstname] => Shakkeer
            [non_pm] => SHK
            [sum] => 3
        )

    [2] => Array
        (
            [emp_firstname] => Waqas
            [non_pm] => WAS
            [sum] => 12
        )

    [3] => Array
        (
            [emp_firstname] => Zain
            [non_pm] => ZAI
            [sum] => 9
        )


    [4] => Array
        (
            [emp_firstname] => Shakkeer
            [gud_pmeditor] => SHK
            [sum] => 4
        )

    [5] => Array
        (
            [emp_firstname] => Zain
            [gud_pmeditor] => ZAI
            [sum] => 2
        )

)

【问题讨论】:

  • 你有没有尝试过?一个简单的foreach 到另一个数组就可以了。
  • @AnuragSrivastava 是对的。它实际上是 3 行代码。试试看,如果你不成功,我会为你发布答案。

标签: php arrays multidimensional-array


【解决方案1】:

你可以使用这种方法得到想要的结果

$res=[];
foreach($arr as $val){
  if(array_key_exists($val['emp_firstname'], $res))
    $res[$val['emp_firstname']]['sum'] = ($res[$val['emp_firstname']]['sum'] + $val['sum']);
  else
    $res[$val['emp_firstname']] = $val;
}

Live Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 2017-04-12
    • 2021-03-29
    相关资源
    最近更新 更多