首页 > 解决方案 > PHP:数组和键明智

问题描述

我有一个简单的问题,但对我来说似乎很复杂。我有一个像下面这样的数组。我想得到 20,21,22,30,31,32 键总和的输出。实际上我已经尝试过自己的策略,但不会得到我想要的结果。

[P00000001] => Array
        (
            [20] => Array
                (
                    [0] => 12
                    [1] => 5.4
                    [2] => 8.9
                    [3] => 12                    
                ),
            [21] => Array
                (
                    [0] => 12
                    [1] => 4.4
                    [2] => 3.9
                    [3] => 16                    
                ),
            [22] => Array
                (
                    [0] => 13
                    [1] => 5.4
                    [2] => 8.9
                    [3] => 12                    
                ),
        ),
        [P00000002] => Array
        (
            [30] => Array
                (
                    [0] => 12
                    [1] => 5.4                    
                ),
            [31] => Array
                (
                    [0] => 12
                    [1] => 4.4
                    [2] => 3.9                                    
                ),
            [32] => Array
                (
                    [0] => 13
                    [1] => 5.4
                    [2] => 8.9
                    [3] => 12                    
                ),
        )

输出将如下所示。希望你们明白我的意思。

[P00000001] => Array
        (
            [20] => 38.3
            [21] => 36.3
            [22] => 39.3
            ),
        [P00000002] => Array
        (
            [30] => 17.4
            [31] => 20.3
            [32] => 39.3
        )

标签: phparrays

解决方案


您可以使用以下代码段,

foreach($arr as $key => &$val){
    foreach($val as $k => $v)
    {
        $val[$k] = array_sum($v); // in second inner loop
    }
}

演示


推荐阅读