2016-09-15 51 views
0

我需要使用PHP總結JSON對象的值合併值

JSON

{ 
    "links": [ 
    { 
     "source": 9887878787, 
     "target": 9999999993, 
     "value": 1 
    }, 
    { 
     "source": 9999999993, 
     "target": 9887878787, 
     "value": 2 
    } 
    ] 
} 

要合併第一和第二個目的的價值得到

所需輸出

{ 
    "links": [ 
     { 
     "source": 9887878787, 
     "target": 9999999993, 
     "value": 3 
     }, 
     { 
     "source": 9999999993, 
     "target": 9887878787, 
     "value": 3 
     } 
    ] 
} 

如何在不使用javasript的情況下實現此目的?我需要php腳本嗎?

非常感謝您提前。

回答

1

這裏是一個辦法做到這一點:

$data = json_decode('{ 
    "links": [ 
    { 
     "source": 9887878787, 
     "target": 9999999993, 
     "value": 1 
    }, 
    { 
     "source": 9999999993, 
     "target": 9887878787, 
     "value": 2 
    } 
    ] 
}'); 

$sum = 0; 
foreach ($data->links as $link) { 
    $sum += $link->value; 
} 

foreach ($data->links as &$link) { 
    $link->value = $sum; 
} 

echo json_encode($data); 

希望這有助於。