PHP Синтаксический анализ данных JSON в переменные

#php #arrays #json

#php #массивы #json

Вопрос:

Хорошо, я искал по всему этому веб-сайту некоторую упрощенную помощь. Многие приведенные здесь примеры настолько завернуты в код, что их трудно понять для реализации в моем собственном коде.

Мне нужно перебирать статистику по каждой игре и отображать информацию через переменные. Теперь я могу делать все сам, я просто не могу найти для каждого цикла, желающего отображать мою информацию

Мой текущий код:

 $ch2 = curl_init(); 
// set url 
curl_setopt($ch2, CURLOPT_URL, "https://na.api.pvp.net/api/lol/na/v1.3/stats/by-summoner/" . $myid . "/ranked?season=SEASON4amp;api_key=(REMOVED)"); 
//return the transfer as a string 
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1); 
// $output contains the output string 
$response2 = curl_exec($ch2); 
// close curl resource to free up system resources 
curl_close($ch2);
$obj = json_decode($response2, true);
foreach ($obj as $val) {
echo "<b>" . $val['stats']['totalDeathsPerSession'] . "</b><br>";
echo "<b>" . $val['stats']['totalDamageTaken'] . "</b><br>";
echo "<b>" . $val['stats']['totalChampionKills'] . "</b><br>";
echo "<b>" . $val['stats']['totalDeathsPerSession'] . "</b><br>";
}
  

Вот данные JSON

 {
"modifyDate": 1402869729000,
"champions": [
{
"id": 40,
"stats": {
"totalDeathsPerSession": 5,
"totalSessionsPlayed": 1,
"totalDamageTaken": 17488,
"totalQuadraKills": 0,
"totalTripleKills": 0,
"totalMinionKills": 15,
"maxChampionsKilled": 0,
"totalDoubleKills": 0,
"totalPhysicalDamageDealt": 6183,
"totalChampionKills": 0,
"totalAssists": 12,
"mostChampionKillsPerSession": 0,
"totalDamageDealt": 21580,
"totalFirstBlood": 0,
}
},
{
"id": 42,
"stats": {
"totalDeathsPerSession": 6,
"totalSessionsPlayed": 1,
"totalDamageTaken": 10626,
"totalQuadraKills": 0,
"totalTripleKills": 0,
"totalMinionKills": 29,
"maxChampionsKilled": 1,
"totalDoubleKills": 0,
"totalPhysicalDamageDealt": 11166,
"totalChampionKills": 1,
}
],
"summonerId": 29283170
}
  

это продолжается и продолжается, я не хочу заполнять весь журнал здесь.
Я просто пытаюсь получить некоторые данные, такие как общее количество убийств миньонов
Общее количество смертей, убийств.. Но он продолжает оставаться пустым со всем, что я пытаюсь.
Я перепробовал так много разных способов, прежде чем прийти сюда. я действительно надеюсь, что вы сможете помочь!

Ответ №1:

Это должно быть:

 foreach ($obj['champions'] as $val) {
  

Комментарии:

1. ха-ха, каждый раз, когда я пробовал этот метод … я получал ошибку в моем цикле foreach… Однако я думаю, может быть, я попробовал obj [‘stats’], и это создало фатальную ошибку?? я попробовал obj [‘champions’], и это действительно работает.. Я очень благодарен.. ты спас мою голову от большого ущерба !! ty!