【发布时间】:2026-02-07 03:00:02
【问题描述】:
有没有办法加快这个功能? 这需要太多时间,有时无法正常工作
<?php
$json = file_get_contents('http://xxxxxxxx/players.json');
$data = json_decode($json,true);
for ($i=0; $i< count($data); $i++)
{
$temp = explode(":",$data[$i]['identifiers'][0]);
$json2 = file_get_contents('http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXXXXXXXXX&steamids=' . hexdec($temp[1]) . '');
$data2 = json_decode($json2);
$playerData = ''. $data2->response->players[0]->personaname . ',' . $data2->response->players[0]->avatarfull .'';
echo($playerData);
echo "<br>";
}
?>
【问题讨论】:
-
“有时不工作”是什么意思? “加速”现在有多快?
-
您在每个循环中都从 API 请求数据。考虑到您正在处理 3rd 方服务,如果他们没有办法同时获得多个用户,则可能没有办法。
-
将
count($data)移动到循环之前并将其存储在变量中。 _n但我怀疑你是否注意到了变化 -
从名称
steamids来看,您的蒸汽驱动的 API 调用似乎可以同时返回多个用户。你为什么一次做一个?我很惊讶你没有受到速率限制。
标签: php performance