PHP|访问对象中的对象


PHP | Accessing an Object within an Object

嗨,我对将API与PHP结合使用非常陌生。这是我的第一次尝试。到目前为止,我已经得到了以JSON格式返回的数据。我有json_decoded(),而var_dump()正在返回我只能作为对象中的对象计算的内容。我的PHP经验可能在这里显示出来。

下面是我正在使用的成功检索数据的代码。

    $url = 'https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/elderofaegis?api_key=RemovedForSO';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_URL, $url);
    $output = curl_exec($ch);
    curl_close($ch);
    $result = json_decode($output);
    var_dump($result);

以下是var_dump()返回的

object(stdClass)[1]
  public 'elderofaegis' => 
     object(stdClass)[2]
      public 'id' => int 38186794
      public 'name' => string 'ElderOfAegis' (length=12)
      public 'profileIconId' => int 785
      public 'summonerLevel' => int 30
      public 'revisionDate' => float 1427933098000

有人知道我怎么能通过它的名字访问这个对象吗。我指的是引号中包含的部分,例如,如果我想回显我想要的名称,请沿着(伪下方)的行。

echo $result->object['name'];

上面的例子是伪的,因为我搞不清楚。对于任何想知道这是英雄联盟API

谢谢。

尝试

$result->elderofaegis->name;

您可以添加true作为json_decode($json, true)的第二个参数,这将把整个对象转换为一个数组,使其更容易访问引用此

json-decode.php