我仍然是业余爱好者,但我学得很快。我有一个php索引,其中包含对RIOT的API(英雄联盟)的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 :(得分:0)
可能是因为ssl证书使用CURL与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'];
}