Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php从json api数组获取所有_Php_Json - Fatal编程技术网

使用php从json api数组获取所有

使用php从json api数组获取所有,php,json,Php,Json,我想改进如何从API获取数据。在本例中,我希望从Steam API获取每个应用程序id,并在.txt文件中每行列出一个。我是否需要一个无限(或非常高的数字)循环(每次迭代后都有++)来获取所有人?我的意思是,从id 0算起,比如一个foreach-循环?我认为这需要很长时间,听起来很像是坏习惯 如何从的响应中获取每个appid{“appid:”n} 您不必担心带有foreach循环的计数器,它们被设计用于遍历并处理对象中的每个项 $file = "steam.txt"; $game_l

我想改进如何从API获取数据。在本例中,我希望从Steam API获取每个应用程序id,并在.txt文件中每行列出一个。我是否需要一个无限(或非常高的数字)循环(每次迭代后都有
++
)来获取所有人?我的意思是,从id 0算起,比如一个
foreach
-循环?我认为这需要很长时间,听起来很像是坏习惯

如何从的响应中获取每个appid
{“appid:”n}


您不必担心带有
foreach
循环的计数器,它们被设计用于遍历并处理对象中的每个项

$file      = "steam.txt";
$game_list = "";
$url       = "http://api.steampowered.com/ISteamApps/GetAppList/v0001";
$game_json = file_get_contents($url);
$games     = json_decode($game_json);

foreach($games->applist->apps->app as $game) {
    // now $game is a single entry, e.g. {"appid":5,"name":"Dedicated server"}
    $game_list .= "$game->appid\n";
}

file_put_contents($file, $game_list);

现在你有了一个包含28000个数字的文本文件。祝贺您?

您不必担心带有
foreach
循环的计数器,它们设计用于遍历并处理对象中的每个项目

$file      = "steam.txt";
$game_list = "";
$url       = "http://api.steampowered.com/ISteamApps/GetAppList/v0001";
$game_json = file_get_contents($url);
$games     = json_decode($game_json);

foreach($games->applist->apps->app as $game) {
    // now $game is a single entry, e.g. {"appid":5,"name":"Dedicated server"}
    $game_list .= "$game->appid\n";
}

file_put_contents($file, $game_list);

现在你有了一个包含28000个数字的文本文件。祝贺你?

仅这一次可怜的尝试就意味着我很抱歉没有做出很好的尝试。因为我是。你根本不需要foreach循环的任何计数器。json非常简单。只需提取列表$line=$game_json['applist']['apps']['app']。就这样!这是一个
.txt
文件,它将如何“改进”任何东西?@rjdown以前总是使用计数器,这是我可以想象的一件事。然后,对于以
/article/29312
结尾的网站URL,从0开始计算每篇文章,直到我得到我想要的@真的吗?就这样?我要试一试。仅这可怜的尝试就意味着我很抱歉没有做出很好的尝试。因为我是。你根本不需要foreach循环的任何计数器。json非常简单。只需提取列表$line=$game_json['applist']['apps']['app']。就这样!这是一个
.txt
文件,它将如何“改进”任何东西?@rjdown以前总是使用计数器,这是我可以想象的一件事。然后,对于以
/article/29312
结尾的网站URL,从0开始计算每篇文章,直到我得到我想要的@真的吗?就这样?我要试一试。