具有不同偏移量的PHP foreach循环

时间:2020-04-15 20:01:24

标签: php json

我想从此api中提取某些部分:Steamspy.com/api.php,但是当我尝试执行foreach循环时,会遇到很多错误。

注意:未定义的偏移量:第11行的C:\ Users \ xx \ Desktop \ xx \ Test \ test.php中的0 PHP注意:尝试在第11行的C:\ Users \ xx \ Desktop \ xx \ Test \ test.php中访问类型为null的值的数组偏移量

我尝试通过在每个循环后加1来解决此问题,但所有游戏的ID顺序都不相同。如何让我的程序遍历所有数组?

<?php
$url = "https://steamspy.com/api.php?request=top100in2weeks";
$jsondata = file_get_contents("$url");
$json = json_decode($jsondata, true);
$game = '0';

#$games = $json[220]['name'];
#print_r($games);

foreach($json as $row) {
    $json[$game]['name'];
    $game += 1;
}

当我定位一个特定的ID时,我就能获得游戏的名称。

$games = $json[220]['name'];

请帮助我解决此问题,谢谢!

2 个答案:

答案 0 :(得分:1)

尝试一下

foreach ($json as $key => $value){
    //$key = 220
    //$value = the same as $json[$key]

    $value['name'];
    //THE SAME AS
    $json[$key]['name'];
}

答案 1 :(得分:1)

foreach ($json as $key => $row) {
   var_dump($row); //[ 'appid':10, ... ]
   var_dump($row['name']); //counter-strike, ...
   var_dump($key); //10, 20, 30, ...
}