繁体   English   中英

php来自多维数组的特定值

[英]php Sum specific value from multidimensional array

我有这样的数组:

Array
(
    [0] => Array
        (
            [impr] => 800000
            [clicks] => 500
            [ctr] => 0.000625
            [cvr] => 0.04
            [cpc] => 0.14024
            [cpm] => 0.08765
            [cpa] => 3.51
        )

    [1] => Array
        (
            [impr] => 889000
            [clicks] => 600
            [ctr] => 0.000625
            [cvr] => 0.08
            [cpc] => 0.34024
            [cpm] => 0.08765
            [cpa] => 4.41
        )

)

我想对该数组求和并得到这样的结果

Array
(
   [impr] => 1689000
   [clicks] => 1100
   [ctr] => 0.0025
   [cvr] => 0.12
   [cpc] => 0.96096
   [cpm] => 0.1753
   [cpa] => 7.92
)

我试着用

array_sum()

将我的数组循环到该array_sum,但我收到这样的错误

array_sum()期望参数1为数组,给定整数

甚至尝试使用foreach循环并使用+ =求和值,但结果不是我想要的

结果是800000889000

任何人都可以建议我更好的代码来获得我想要的结果

首先创建一个包含总和的数组:

$sumArray = array(
    "impr" => 0,
    "clicks" => 0,
    "ctr" => 0,
    "cvr" => 0,
    "cpc" => 0,
    "cpm" => 0,
    "cpa" => 0,
);

然后做计算:

foreach ($oldArray as $row)
{
    foreach ($rows as $key => $value)
    {
        $sumArray[$key] += $value;
    }
}

然后查看结果,只需:

print_r($sumArray);

注意:我假设您原始数组中的键没有括号,但是如果实际的键字符串有括号,则使用以下代码创建$ sumArray:

$sumArray = array(
    "[impr]" => 0,
    "[clicks]" => 0,
    "[ctr]" => 0,
    "[cvr]" => 0,
    "[cpc]" => 0,
    "[cpm]" => 0,
    "[cpa]" => 0,
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM