【问题标题】:PHP Adding array values togetherPHP将数组值加在一起
【发布时间】:2011-12-20 17:42:18
【问题描述】:

我有一个格式为

的数组
Array
(
    [0] => Array
        (
            [platform] => 1
            [sales] => 244
            [total] => 245971.00
            [average] => 1008.08
        )

    [1] => Array
        (
            [platform] => 2
            [sales] => 273
            [total] => 280454.48
            [average] => 1027.31
        )

    [2] => Array
        (
            [platform] => 3
            [sales] => 290
            [total] => 273408.00
            [average] => 942.79
        )

)

还有另一个数组

Array
(
    [0] => Array
        (
            [platform] => 1
            [sales] => 243
            [total] => 245231.00
            [average] => 1128.08
        )

    [1] => Array
        (
            [platform] => 2
            [sales] => 233
            [total] => 2804248
            [average] => 103.31
        )

    [2] => Array
        (
            [platform] => 3
            [sales] => 293
            [total] => 223408.00
            [average] => 942.29
        )

)

如何将这些数组加在一起以创建一个包含所有添加值的数组。

例如,[sales] => 244 来自包含平台 11 的第一个数组,[sales] => 243 在包含平台 1 的秒数组中。我想将它们组合成一个数组,其中 [sales] => 487 (244 + 243) 用于平台 1。

提前致谢

【问题讨论】:

  • 您可能需要添加运算符(+)。还有一些循环数组的东西,比如foreach
  • 是的,但我的问题是我不能只是去$arrayC = $arrayA + $arrayB

标签: php mysql database arrays json


【解决方案1】:

假设两个数组在它们各自的键之间具有精确的 1:1 匹配:

$new_arr = array();
foreach($arr1 as $main_key => $sub_arr) {
    foreach($sub_arr as $sub_key => $val) {
        $new_arr[$main_key][$sub_key] = $val + $arr2[$main_key][$sub_key];
    }
}

其中 $arr1 和 $arr2 是您的两个原始数组。

【讨论】:

  • 啊,我也有平台号被加在一起的问题,但现在想起来,可能平台号不应该在那里。
【解决方案2】:

还可以通过array_merge合并两个数组 http://php.net/manual/en/function.array-merge.php

【讨论】:

  • Array_merge 不添加数值,它附加或覆盖值。
猜你喜欢
  • 1970-01-01
  • 2019-05-30
  • 2018-03-07
  • 1970-01-01
  • 2017-03-03
  • 1970-01-01
  • 2022-01-24
  • 2022-10-07
  • 1970-01-01
相关资源
最近更新 更多