Php 如何使用file\u get\u内容从数组中获取特定字段
我要获取玩家字段: e、 g id、名称、标签、平台等 我有这类数据:Php 如何使用file\u get\u内容从数组中获取特定字段,php,arrays,json,object,Php,Arrays,Json,Object,我要获取玩家字段: e、 g id、名称、标签、平台等 我有这类数据: stdClass Object ( [player] => stdClass Object ( [id] => 179203896 [game] => bf4 [plat] => pc [name] => HeLLTiMe [tag] => DK
stdClass Object
(
[player] => stdClass Object
(
[id] => 179203896
[game] => bf4
[plat] => pc
[name] => HeLLTiMe
[tag] => DK
[dateCheck] => 1391437377733
[dateUpdate] => 1391437377733
[dateCreate] => 1386696304438
[lastDay] => 20140117
[country] =>
[countryName] =>
[rank] => stdClass Object
(
[nr] => 73
[imgLarge] => bf4/ranks/r73.png
[img] => r73
[name] => Chief Warrant Officer Five III
[needed] => 4920000
[next] => stdClass Object
(
[nr] => 74
[img] => r74
[name] => Chief Warrant Officer Five IV
[needed] => 5030000
[curr] => 5022060
[relNeeded] => 110000
[relCurr] => 102060
[relProg] => 92.781818181818
)
)
[score] => 5025100
[timePlayed] => 862027
[uId] => 2832659368608119092
[uName] => HeLLTiMe
[uGava] => 0b8b00021ebfb32414e5a6051c2c9a40
[udCreate] => 1328606863000
[blPlayer] => http://battlelog.battlefield.com/bf4/soldier/HeLLTiMe/stats/179203896/pc/
[blUser] => http://battlelog.battlefield.com/bf4/user/HeLLTiMe/
[editable] =>
[viewable] => 1
[adminable] =>
[linked] =>
)
[stats] => stdClass Object
(
[reset] => stdClass Object
(
[lastReset] => 0
[score] => 0
[timePlayed] => 0
[timePlayedSinceLastReset] => 0
[kills] => 0
[deaths] => 0
[shotsFired] => 0
[shotsHit] => 0
[numLosses] => 0
[numWins] => 0
)
如何获取这些数据
这是我的密码:
<?php
$url = "http://api.bf4stats.com/api/playerInfo?plat=pc&name=HeLLTiMe";
$json = file_get_contents($url);
$data = json_decode($json);
echo "<pre>";
print_r($data);
?>
不确定您所说的获取已获取的数据是什么意思,但如果您询问如何访问字段,您可以这样做
echo $data->player->name;
要获取名称,您应执行以下操作:
$data = json_decode($json);
您需要它,因为您有一个stdClass对象
您还可以将out更改为仅一个数组,您必须更改以下内容:
$data = json_decode($json, true);
为此:
echo $data['player']['name'];
当您进行此项检查时,您可以通过以下方式获得值:
$url = "http://api.bf4stats.com/api/playerInfo?plat=pc&name=HeLLTiMe";
$json = file_get_contents($url);
echo 'Using stdClass Object option<br>';
$data = json_decode($json);
echo $data->player->name;
echo '<br><br>Using Array option<br>';
$data = json_decode($json, true);
echo $data['player']['name'];
exit;
编辑
下面你可以看到这个例子,这对我来说没有错误
$url=”http://api.bf4stats.com/api/playerInfo?plat=pc&name=HeLLTiMe";
$json=文件获取内容($url);
echo“使用stdClass对象选项
”;
$data=json_decode($json);
echo$data->player->name;
使用数组选项回显“
”;
$data=json_decode($json,true);
echo$data['player']['name'];
出口
我也可以有这个url:在这种情况下怎么办?我只想访问一些字段,如名称、平台等。另外,您的答案是生成错误:试图在第8echo$data['player']['name']行的E:\test\api.php中获取非对象的属性;返回空结果和echo$data->player->name;正在生成错误:尝试获取第8行E:\test\api.php中非对象的属性
echo $data['player']['name'];
$url = "http://api.bf4stats.com/api/playerInfo?plat=pc&name=HeLLTiMe";
$json = file_get_contents($url);
echo 'Using stdClass Object option<br>';
$data = json_decode($json);
echo $data->player->name;
echo '<br><br>Using Array option<br>';
$data = json_decode($json, true);
echo $data['player']['name'];
exit;