Любой способ ускорить этот L oop? - PullRequest
0 голосов
/ 02 марта 2020

есть ли способ ускорить эту функцию? это занимает слишком много времени и иногда не работает

<?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>";
}
?>

1 Ответ

0 голосов
/ 02 марта 2020

Да, вы можете получить более 1 ID за раз. Согласно документации, вы можете использовать запятую между идентификаторами пользователей и одновременно получать до 100.

Comma-delimited list of 64 bit Steam IDs to return profile information for. Up to 100 Steam IDs can be requested. https://developer.valvesoftware.com/wiki/Steam_Web_API#GetPlayerSummaries_ .28v0002.29

После вашего первого $ json, l oop и добавьте идентификаторы в массив. Затем создайте одиночный вызов с $ json2, где вы вытесните идентификаторы из $ json с запятой между каждым.

Если вы ожидаете более 100 идентификаторов, вам придется совершать больше вызовов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...