我正在使用RIOT API(聯盟的傳奇),我有這個虛擬主機,我測試我的代碼:20ff.net。我正在使用此代碼,輸出顯示在網站上。json/php:如何從嵌套和非嵌套數組中獲取信息
ini_set("display_errors", "1"); error_reporting(E_ALL);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://euw.api.pvp.net/api/lol/euw/v2.5/league/challenger?type=RANKED_SOLO_5x5&api_key=***');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$json = json_decode($response, true);
foreach($json['entries'] as $entry){
echo $entry['playerOrTeamName'] . ' - Division: ' . $entry['division'] . ' - ' . $entry['leaguePoints'] . ' LP' . "<br/>";
}
這些都是嵌套的數組,但theres 1個陣列包含entries
陣列外部信息這就是,它被稱爲name
。名稱包含玩家所在分部的名稱,例如:挑戰者,鑽石,鉑金,金,銀或銅牌。我想在$entry['division']
前使用這個,所以輸出將是Division: Diamond 1
(例如)而不是Division: 1
。這是參考指南:https://developer.riotgames.com/api/methods#!/828/2921
我該如何解決這個問題,我沒有嘗試使用兩個foreach命令。
編輯JSON響應:
{
"name":"Miss Fortune's Weaponmasters",
"tier":"CHALLENGER",
"queue":"RANKED_SOLO_5x5",
"entries": [{
"playerOrTeamId":"43211669",
"playerOrTeamName":"Zednic",
"division":"I",
"leaguePoints":708,
"wins":394,
"isHotStreak":false,
"isVeteran":false,
"isFreshBlood":false,
"isInactive":false
}]
請編輯您的問題以顯示json,例如'$ response'的內容 – Steve 2014-09-26 12:38:14
我已經包含所有代碼。這是你想看到或你想看到'var_dump($ response)'? – floppy 2014-09-26 12:40:43
那麼我需要看到原始的json數據。只需在瀏覽器中訪問api url,然後將json粘貼到問題中即可。我不能自己做,因爲我沒有api鍵 – Steve 2014-09-26 12:42:31