Мне было интересно, может ли кто-нибудь помочь мне настроить мою скрипту.Как сделать скрипт рекурсивным
У меня есть то, что мне нужно, но я просто пытаюсь понять, как сделать его рекурсивным.
например. Я в настоящее время:
$key = 'XXXXXXXXXXXX';
$sensor = 'false';
$query = 'Place 1';
$url = 'https://maps.googleapis.com/maps/api/place/textsearch/json?key='.$key.'&query='.urlencode($query).'&sensor='.$sensor;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$places = curl_exec($ch);
curl_close($ch);
// echo $url;
$output = json_decode($places);
$i = 0;
while ($output->results[$i]->geometry->location->lat != '') {
echo '<strong>' . $query . '</strong><br />';
echo $output->results[$i]->geometry->location->lat . ', '. $output->results[$i]->geometry->location->lng;
echo '<br />' . $output->results[$i]->formatted_address;
echo '<hr />';
$i++;
}
// there is a delay between when the next page token is given and when it is ready to be accessed
sleep(5);
if ($output->next_page_token != '') {
$url = 'https://maps.googleapis.com/maps/api/place/textsearch/json?pagetoken='.$output->next_page_token.'&key='.$key.'&sensor='.$sensor;
// repeating myself now!
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$places = curl_exec($ch);
curl_close($ch);
$output = json_decode($places);
$i = 0;
while ($output->results[$i]->geometry->location->lat != '') {
echo '<strong>' . $query . '</strong><br />';
echo $output->results[$i]->geometry->location->lat . ', '. $output->results[$i]->geometry->location->lng;
echo '<br />' . $output->results[$i]->formatted_address;
echo '<hr />';
$i++;
}
}
Таким образом, в идеале, я смотрю на то, как перестроить так, что выше, будет работать до тех пор, пока существует следующая лексема страницы.
спасибо за вашу помощь Miky, вероятно, надо было думать о том, что но мозг мертв выяснить это апи .... – martincarlin87
этот отлично работал. это было ключом для добавления функции сна, поскольку google возвращает INVALID_REQUEST, когда вы слишком быстро используете свой API. 2 секунды отлично работали для моих нужд. –