2014-09-25 97 views
0

我仍然是一個業餘愛好者,但我的學習速度非常快。我有一個PHP索引,其中包含對RIOT的API(英雄聯盟)的API請求。我試圖過濾結果,但是當我嘗試它時,它給了我一個空白頁面。回聲JSON結果(RIOT API)

這是我想爲了使用呼應的JSON結果代碼:

<html> 
<head> 
    <title>RIOT API SBOX</title> 
</head> 
<body> 
<?php 

$json = json_decode(file_get_contents('https://euw.api.pvp.net/api/lol/euw/v2.5/league/by-summoner/31827832?api_key=mykey'), true); 

//print_r($json); 

echo $json[0]['rank']; 
echo $json[0]['tier']; 
echo $json[0]['wins']; 

?> 
</body> 
</html> 

我有這樣的網站上實時預覽:http://20ff.net/(此鏈接使用上面顯示的代碼) 這是第二個鏈接http://20ff.net/index2.php已啓用print_r($json);並禁用所有其他回聲(使用完全相同的代碼)。在第二個鏈接中,您可以看到可以在其中創建過濾器的項目。我想知道如何從這個數組中獲取信息並回應它們。感謝您幫助新秀出場的時間。

回答

0

這是因爲SSL證書使用捲曲與CURLOPT_SSL_VERIFYPEER爲FALSE

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'https://euw.api.pvp.net/api/lol/euw/v2.5/league/by-summoner/31827832?api_key=mykey'); 

// Set so curl_exec returns the result instead of outputting it. 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
// Get the response and close the channel. 
$response = curl_exec($ch); 
curl_close($ch); 

$json = json_decode($response, true); 

foreach($json as $elem){ 
    echo $elem[0]['name']; 
    echo $elem[0]['tier']; 
} 
+0

親愛的艾薩克的可能,我是很新的這一點。您能否幫我一把,幫助我在哪裏以及如何將您的代碼與我的代碼結合起來?這可以放置/合併我的代碼之間的PHP標籤? – floppy 2014-09-25 22:05:07

+0

@ floppy我剛剛編輯它以匹配你的php標籤,不要忘了把你的api_key來執行測試 – Isaac 2014-09-25 22:07:40

+0

我從字面上複製和粘貼你的代碼,但它返回空白頁。我應該嘗試'var_dump($ response);'?編輯:使用var_dump的響應,實際上給了我一些結果,但我不知道如何或實際正在打印。 – floppy 2014-09-25 22:15:50