json对象的合并值


Merge value of json object

我需要使用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
       }
    ]
}

我如何在不使用javascript的情况下实现这一点。我需要php脚本吗?

提前谢谢你

方法如下:

$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);