JSON / PHP: как получить информацию из вложенных и не вложенных массивов

Я работаю с RIOT API (лига легенд), и у меня есть этот веб-хостинг, где я тестирую свой код: 20ff.net. Я использую этот код, вывод отображается на сайте.

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/>";
}

Это все вложенные массивы, но есть 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",
"league‌​Points":708,
"wins":394,
"isHotStreak":false,
"isVeteran":false,
"isFreshBlood":false‌​,
"isInactive":false
}]

1

Решение

Предполагая, что я получил правильную структуру JSON из ваших комментариев:

$json = json_decode($response, true);
foreach($json['entries'] as $entry){
echo $entry['playerOrTeamName'] . ' - Division: ' . $json['tier'] . ' ' . $entry['division'] . ' - ' . $entry['leaguePoints'] . ' LP' . "<br/>";
}

Дело в том, что вы можете получить доступ к исходному массиву из цикла, например, $json['tier'] не только текущий элемент цикла

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector