PHP показывает вывод foreach на экран, для каждого элемента

Одна вещь, которую я заметил с php, заключается в том, что на экран ничего не выводится, пока скрипт не перестанет работать. Для проекта, над которым я работаю, я загружаю список из более чем 100 элементов, и он выполняет HTTP-запрос для каждого элемента и по завершении показывает страницу со статусом каждого элемента, неудачей успеха и т. Д.

Я хочу знать, есть ли способ вывести результаты каждого цикла «foreach», как они происходят? Таким образом, пользователь, наблюдающий за экраном, видит, что магия происходит по одной линии за раз или после 5 строк.

Я только когда-либо видел это с запросами типа Ajax, это то, что я должен искать вместо этого, может быть? Может ли кто-нибудь указать мне на php-функцию, которая делает это или это невозможно?

Solutions Collecting From Web of "PHP показывает вывод foreach на экран, для каждого элемента"

Возможно, лучше сохранить весь вывод сценария в буфере, а затем сбросить буфер при необходимости.

Например:

<?php if (ob_get_level() == 0) ob_start(); $test = Array('one','two','three','four'); foreach ($test as $key=>$val) { echo $test; ob_flush(); flush(); } ob_end_flush(); ?> 

Убедитесь, что mod_gzip отключен!

flush() должен сделать это, или вы можете посмотреть все функции буферизации вывода

Используйте команду flush()

я использую

 flush(); @ob_flush(); 

после выхода.