Я цикл выполнения и внутри цикла есть функция обработки данных внутри цикла.
for($i = 0 ; $i <=680 ; $i = $i + 40) { $url = 'http://www.yelp.com/biz/franchino-san-francisco?start=80'; $root = yelp($url); var_dump($root); }
Этот цикл занимает много времени, и результаты повторяются в конце, когда полный цикл завершается.
Как я могу повторить результат во время каждой итерации?
На самом деле, что здесь происходит? то есть результат хранится в буфере и в конце эха или что?
PHP буферизует вывод.
Если вы хотите вывести материал в браузер сразу, вы можете использовать функции flush()
и ob_flush()
:
for ($i = 0; $i <= 680; $i += 40) { $url = 'http://www.yelp.com/biz/franchino-san-francisco?start=80'; $root = yelp($url); var_dump($root); flush(); ob_flush(); }
Если вы выполняете PHP через веб-страницу, это будет поведение.
PHP – это серверный язык, и весь код будет выполнен до отображения вывода клиенту. (с помощью браузера)
Если вы хотите отобразить результат в цикле, лучше использовать консоль / cmd (командная строка)
Вот что поможет вам использовать PHP с командной строкой.