如何将多个格式的多维数组合并为一个数组,并使用PHP进行加权?

时间:2015-10-05 02:06:29

标签: php arrays

我有一个数组,当我json_decode()时,我得到了数组:

Array
(
    [avg] => 1.1
    [day] => Array
        (
            [0] => 2
            [1] => 3
            [2] => 4
        )

    [channels] => Array
        (
            [ali] => Array
                (
                    [amount] => 5
                    [rate] => 6
                )
        )
)

Array
(
    [avg] => 3.3
    [day] => Array
        (
            [0] => 6
            [1] => 7
            [2] => 8
        )

    [channels] => Array
        (
            [ali] => Array
                (
                    [amount] => 5
                    [rate] => 8
                )
        )
)

如何将这些数组合并为一个,同时,我希望将所有值计算为平均值,例如(1.1+3.3)/2 = 2.2。我们必须循环channels子数组,因为它是动态的,即。不仅ali而且还可能出现几个频道。

所以假设的结果应该是:(子数组的所有结构都是相同的)

Array
(
    [avg] => 2.2
    [day] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [channels] => Array
        (
            [ali] => Array
                (
                    [amount] => 5
                    [rate] => 7
                )
        )
)

我尝试的非常复杂。首先,我弹出数组中的第一个数组,并循环左数组以求它们的所有值。完成后,我再次循环数组以计算平均值,但它需要大约30行代码。我认为这不是一个很好的方法。有更合适的方法吗?

0 个答案:

没有答案