如何使用其他数组中的键对数组中的值求和

时间:2017-08-08 09:54:38

标签: php arrays

我有一个在JSON文件中有两个数组的对象:

"Data": {
        "Server": ["a", "a", "a", "a", "b", "b", "b", "b", "c", "c", "c", "c"],
        "Count": ["12", "32", "7", "1", "67", "2", "3", "6", "5", "6", "5", "4"]
    }

我想要实现的是添加数组的所有值' count'对于服务器'中的相对值数组并使用如下结构创建新数组:

 "Data": {
            "Server": ["a", "b", "c"],
            "Count": ["52", "78", "20"]
        }

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

一种方法是做这样的事情:

<?php

$object = json_decode("your json here");
$server = $object->Server;
$count = $object->Count;

$tmp = [];

for( $i = 0; $i < $server; $i++){
    $tmp[$server[$i]] += $count[$i];
}

$data = new stdClass();
$data->Server = array_keys($tmp);
$data->Count = array_values($tmp);

$json = json_encode($data);

但我个人宁愿建立一个像:

这样的结构
{
    "Data": {
        "Servers": {
            "a":52,
            "b":78,
            "c":20
        }
    }
}