我正在尝试json解码一些东西并获得我想要的值。
但是我得到了php未定义索引错误。
这是我的密码。

<?php
$json = '[{"totalGamesPlayed":25,"championId":0}]';
$data = json_decode($json,true);

$games = $data['totalGamesPlayed'];
echo $games;
?>

问题是“[“”]”弄乱了我的代码…
我正在使用一个api来获取一些值。
我得到的是:http://pastebin.com/XrqkAbJf
我需要全场展示,冠军身份证除了零(82106和24)
这些身份证的总赢和总输…
首先,让我们看看如何绕过“[”和“])”符号,然后事情可能会更简单。
提前谢谢你!

最佳答案

像这样访问你的代码

$games = $data[0]['totalGamesPlayed'];

获取其他信息的代码
<?php

$json = 'PUT YOUR EXAMPLE JSON HERE';
$data = json_decode($json,true);

$seasonWon = 0;
$seasonPlayed = 0;
foreach($data as $stats) {
    if($stats['championId'] != 0) {
        echo '<br><br>Total Games Played:'. $stats['totalGamesPlayed'];
        echo '<br>champion Ids :'.$stats['championId'];
        foreach($stats['stats'] as $stat) {
            if($stat['statType'] == 'TOTAL_SESSIONS_WON') {
                $seasonWon = $stat['value'];
                echo '<br>TOTAL_SESSIONS_WON :'.$seasonWon;
            }

            if($stat['statType'] == 'TOTAL_SESSIONS_LOST')
            echo '<br>TOTAL_SESSIONS_LOST :'.$stat['value'];

            if($stat['statType'] == 'TOTAL_SESSIONS_PLAYED') {
                $seasonPlayed = $stat['value'];
                echo '<br>TOTAL_SESSIONS_PLAYED :'.$seasonPlayed;
            }
        }
        echo '<br>Games Ratio(TOTAL_SESSIONS_WON / TOTAL_SESSIONS_PLAYED): ('. $seasonWon.'/'.$seasonPlayed.'):'. ($seasonWon/$seasonPlayed);
    }
}

08-19 04:01