2017-08-08 72 views
-3

我有一個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"] 
    } 

什麼,我想才達到是添加的陣列「計數」的所有值的相對值在「服務器」數組,並創建一個結構類似這樣的新數組:

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

任何人都可以在這方面幫助?

+0

顯示你當前的代碼 –

+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 
     } 
    } 
} 
+0

我很抱歉我的問題混亂,但我不能顯示所有的代碼大。這篇文章回答了我的問題。謝謝! – pawell67