具有相同键的多个数组的操作值

kn3*_*n3l 1 php arrays multidimensional-array

我有一个数组数组

array(4) {
      [0]=>
      array(3) {
        ["a"]=>float(1000)
        ["b"]=>float(3)
        ["c"]=>float(500)
      }
      [1]=>
      array(3) {
        ["a"]=>float(1000)
        ["b"]=>float(852)
        ["c"]=>float(500)
      }
      [2]=>
      array(3) {
        ["a"]=>float(1000)
        ["b"]=>float(5)
        ["c"]=>float(500)
      }
      [3]=>
      array(1) {
        ["e"]=>float(1000)
      }
    }
Run Code Online (Sandbox Code Playgroud)

结果将总和相同键的所有值,因此结果应为:

$result = 
  array(
      "a" =>3000,
      "b"=>900,
      "c"=>1500,
      "e"=>1000
  )
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题.

谢谢.

jen*_*ram 5

:

result <- new array                       # array holding result
foreach entry1 in array:                  # iterate outer array
    foreach entry2 in entry1:             # iterate each inner array
        if not exists result[entry2.key]: # if key is not already in result...
            result[entry2.key] = 0        # ... add key and set value to zero
        result[entry2.key] += value       # increment result for key with value from inner array
Run Code Online (Sandbox Code Playgroud)

(我将把实现作为OP的练习.)