2016-09-15 36 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); 

希望这有助于。