2015-04-02 80 views
-1

嗨我對PHP使用API​​非常新穎。這是我第一次嘗試。到目前爲止,我已經獲得了以JSON格式返回的數據。我有json_decoded()它和var_dump()返回我只能作爲一個對象內的對象。我的PHP缺乏經驗可能會在這裏展示。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

謝謝。

+0

所以請告訴我問題是你無法訪問它或什麼 – 2015-04-02 09:50:50

回答

1

嘗試

$result->elderofaegis->name; 
+0

這是行不通的,但中間部分'elderofaegis'將如何填充? '$ result-> elderofaegis-> name;' 因爲我只是在請求之後得到這個結果,所以說iw請求相同的陳述由id – Kieranmv95 2015-04-02 09:34:45

+0

結構是由api響應定義的。你需要寫一些變壓器來將響應轉化爲你的慾望對象。 – Vail 2015-04-02 09:41:30

0

您可以添加true作爲第二個參數json_decode($json, true)這將整個對象變換到一個數組,這將使其更容易引用這個

json-decode.php

+0

我看到這現在返回作爲一個數組 – Kieranmv95 2015-04-02 09:36:27