我试图使用传说api联盟并将冠军ID转换为他的名字代码:
public function GetChampName($id)
{
$summObj = $this->getJSONObj('https://global.api.pvp.net/api/lol/static-data/na/v1.2/champion/' . $id .'?champData=image&api_key=' . $this->apikey . '');
$summID = (string) ($summObj[$id]["key"]);
return $summID;
}
并使用那样:
$championid = $summoners[$i]['championId'];
$championName = $LolApi->GetChampName($championid);
$ summoners是当前游戏api的参与者数组。
当我做的时候
var_dump($championName)
im getting int(99)int(37)int(28)int(21)int(80)例如,当我试图像我说的那样使用它时:
$championid = $summoners[$i]['championId'];
$championName = $LolApi->GetChampName($championid);
我得到了这个错误:
Notice: Undefined offset: 99 in F:\xampp\htdocs\tilt\LolApi.php on line 24
Notice: Undefined offset: 37 in F:\xampp\htdocs\tilt\LolApi.php on line 24
Notice: Undefined offset: 28 in F:\xampp\htdocs\tilt\LolApi.php on line 24
Notice: Undefined offset: 21 in F:\xampp\htdocs\tilt\LolApi.php on line 24
Notice: Undefined offset: 80 in F:\xampp\htdocs\tilt\LolApi.php on line 24
行:
$summID = (string) ($summObj[$id]["key"]);
任何想法如何修复它? ,我将提供修理它所需的一切。
答案 0 :(得分:0)
从var_dump可以清楚地看出,您收到的数组的格式为:
[
"id"=>37,
"key"=>"Sona"
]
等等。你应该使用
$summID = (string) ($summObj["key"]);
获取名称而不是
$summID = (string) ($summObj[$id]["key"]);