Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从API中获取多个值并将它们相加_Php_Api - Fatal编程技术网

Php 从API中获取多个值并将它们相加

Php 从API中获取多个值并将它们相加,php,api,Php,Api,因此,我从这个网站上获得了这个api(不是我的网站,我没有访问这些文件的权限) api的响应如下所示: { "previousPageCursor": null, "nextPageCursor": null, "data": [ { "userAssetId": 413511366, "serialNumber": null, "assetId": 1028606, "name": "Red Baseball Cap",

因此,我从这个网站上获得了这个api(不是我的网站,我没有访问这些文件的权限)

api的响应如下所示:

{
  "previousPageCursor": null,
  "nextPageCursor": null,
  "data": [
    {
      "userAssetId": 413511366,
      "serialNumber": null,
      "assetId": 1028606,
      "name": "Red Baseball Cap",
      "recentAveragePrice": 271,
      "originalPrice": null,
      "assetStock": null,
      "buildersClubMembershipType": 0
    },
    {
      "userAssetId": 1075234337,
      "serialNumber": 820,
      "assetId": 93131552,
      "name": "Dark Conjurer",
      "recentAveragePrice": 59910,
      "originalPrice": 250,
      "assetStock": 900,
      "buildersClubMembershipType": 0
    },
    {
      "userAssetId": 4506314814,
      "serialNumber": 944,
      "assetId": 439946101,
      "name": "Adurite King of the Night ",
      "recentAveragePrice": 9805,
      "originalPrice": 100,
      "assetStock": 2000,
      "buildersClubMembershipType": 0
    },
    {
      "userAssetId": 4779382222,
      "serialNumber": null,
      "assetId": 71484026,
      "name": "Sinister Branches",
      "recentAveragePrice": 2223,
      "originalPrice": 125,
      "assetStock": null,
      "buildersClubMembershipType": 0
    },
    {
      "userAssetId": 20445168513,
      "serialNumber": 4667,
      "assetId": 1609401184,
      "name": "Supa Dupa Fly Cap",
      "recentAveragePrice": 5488,
      "originalPrice": 1000,
      "assetStock": 10000,
      "buildersClubMembershipType": 0
    }
  ]
}
我想从api中获取所有“recentAveragePrice”值,然后在php中添加这些值,但我想不出来。

尝试以下方法:

$responseJson = '{"previousPageCursor":null,"nextPageCursor":null,"data":[{"userAssetId":413511366,"serialNumber":null,"assetId":1028606,"name":"Red Baseball Cap","recentAveragePrice":271,"originalPrice":null,"assetStock":null,"buildersClubMembershipType":0},{"userAssetId":1075234337,"serialNumber":820,"assetId":93131552,"name":"Dark Conjurer","recentAveragePrice":59910,"originalPrice":250,"assetStock":900,"buildersClubMembershipType":0},{"userAssetId":4506314814,"serialNumber":944,"assetId":439946101,"name":"Adurite King of the Night ","recentAveragePrice":9805,"originalPrice":100,"assetStock":2000,"buildersClubMembershipType":0},{"userAssetId":4779382222,"serialNumber":null,"assetId":71484026,"name":"Sinister Branches","recentAveragePrice":2223,"originalPrice":125,"assetStock":null,"buildersClubMembershipType":0},{"userAssetId":20445168513,"serialNumber":4667,"assetId":1609401184,"name":"Supa Dupa Fly Cap","recentAveragePrice":5488,"originalPrice":1000,"assetStock":10000,"buildersClubMembershipType":0}]}';

$responseArr = json_decode($responseJson, true);
echo array_sum(array_column($responseArr['data'], 'recentAveragePrice'));


这首先用于将JSON转换为PHP数组(第二个参数
true
使其成为数组而不是对象),然后用于获取
data
recentAveragePrice
列,最后用于对该数组求和。

那么到目前为止,您在代码中做了哪些工作来实现这一点呢?@MayankPandeyz我是PHP新手,我只知道基本的,我不知道如何抓住多个相同的价值是相同的problem@Sani为了给回答者一个简单的时间,考虑用一个美化的版本替换单行JSON响应。生成更漂亮的JSON版本的一种方法是使用
jq
jq./path/to/JSON
应该可以工作)。如何调用此API?在变量中获取此响应,并使用
JSON\u decode()
将其转换为数组,并相应地使用它。