im new to php, я хочу получить много данных и выводить их из разных URL-адресов, поэтому на самом деле я создал тот, который работает и получает одну информацию. Пока я искал и смотрел так много... но я не мог понять, как получить кратность.
так что одна вещь, которую нужно учитывать: этот желтый текст, который я выделил, имеет более 100. Я имею в виду eid = 1 для eid = 102.. у каждого есть данные, хранящиеся в нем.
мой php-код - это
<?php
$eType=2;
$eId=43;
$lType=1;
$dNames=drivername;
$shard="Apex";
$session = curl_init();
curl_setopt ($session, CURLOPT_URL, "http://world.needforspeed.com/SpeedAPI/ws/game/nfsw/leaderboards?output=xml");
curl_setopt ($session, CURLOPT_POST, true);
curl_setopt ($session, CURLOPT_POSTFIELDS, "et=".$eType."&eid=".$eId."<=".$lType."&dn=".$dNames."&shard=".$shard);
curl_setopt ($session, CURLOPT_HEADER, true);
curl_setopt ($session, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($session);
curl_close($session);
// Get the XML from the response, bypassing the header
if (!($xml = strstr($response, '<?xml'))) {
$xml = null;
}
// Output the XML
$worldLeaderboard = simplexml_load_string($xml);
foreach ($worldLeaderboard->worldLeaderboard as $world){
$rank = $world['rank'];
$name = $world['personaName'];
$car = $world['make'];
$model = $world['carName'];
$duration = $world['eventDuration'];
echo <<<EOD
$rank $name $car $model $duration
EOD;
}
?>
так как вы можете видеть мой код, он отлично работает и выводит из этих данных. Я знаю, что могу сделать несколько, выполнив весь код и вставив его в 100 раз, и изменив значение переменной $ eid, но это слишком много, и данные, которые я принимаю..
Вы можете использовать простой цикл "для".
for($eId=1;$eId<=102;$eId++) {
$eType=2;
$lType=1;
$dNames=drivername;
$shard="Apex";
$session = curl_init();
curl_setopt ($session, CURLOPT_URL, "http://world.needforspeed.com/SpeedAPI/ws/game/nfsw/leaderboards?output=xml");
curl_setopt ($session, CURLOPT_POST, true);
curl_setopt ($session, CURLOPT_POSTFIELDS, "et=".$eType."&eid=".$eId."<=".$lType."&dn=".$dNames."&shard=".$shard);
curl_setopt ($session, CURLOPT_HEADER, true);
curl_setopt ($session, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($session);
curl_close($session);
// Get the XML from the response, bypassing the header
if (!($xml = strstr($response, '<?xml'))) {
$xml = null;
}
// Output the XML
$worldLeaderboard = simplexml_load_string($xml);
foreach ($worldLeaderboard->worldLeaderboard as $world){
$rank = $world['rank'];
$name = $world['personaName'];
$car = $world['make'];
$model = $world['carName'];
$duration = $world['eventDuration'];
echo <<<EOD
$rank $name $car $model $duration
EOD;
}
}
Сделайте функцию для завитущих вызовов, поместите URL-адреса в массив и пропустите через массив и используйте каждую запись в массиве на функции curl, которую вы написали.
function my_curl_function($url)
{
// curl call
return $result;
}
$urls[] = 'url1';
$urls[] = 'url2';
$urls[] = 'url3';
// etc
foreach($urls AS $url)
{
echo my_curl_function($url);
}