Php 从API中获取多个值并将它们相加
因此,我从这个网站上获得了这个api(不是我的网站,我没有访问这些文件的权限) api的响应如下所示:Php 从API中获取多个值并将它们相加,php,api,Php,Api,因此,我从这个网站上获得了这个api(不是我的网站,我没有访问这些文件的权限) api的响应如下所示: { "previousPageCursor": null, "nextPageCursor": null, "data": [ { "userAssetId": 413511366, "serialNumber": null, "assetId": 1028606, "name": "Red Baseball Cap",
{
"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()
将其转换为数组,并相应地使用它。