Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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 如何使用file\u get\u内容从数组中获取特定字段_Php_Arrays_Json_Object - Fatal编程技术网

Php 如何使用file\u get\u内容从数组中获取特定字段

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

我要获取玩家字段:

e、 g id、名称、标签、平台等

我有这类数据:

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;