勉強したことのメモ.

Webエンジニア / プログラマが勉強したことのメモ。

PHPで一括出力ではなく、ひとつずつ順次に出力する方法

   2024/04/17  PHP

PHPで重たい処理とかをしている際に、途中報告みたいな形で順次出力させる方法のメモ。

 

ソースコード

<?php
function testA($x, $testArray){
    for($i = 1; $i < 10000000; $i++){
        
    }
    ob_flush();
    flush();
    echo $x . "<br />"; //順次表示される
    $testArray[$x] = rand(10000, 99999);
    return $testArray;
}
$testArray = array();

for($x = 1; $x < 10; $x++){
    $testArray = testA($x, $testArray);
}

var_dump($testArray); //これが表示されるのは一番最後
?>

本来出力用バッファにためるものを、ob_flashとflashで強制的に出力させる形。

 

リファレンス

ob_flash

https://www.php.net/manual/ja/function.ob-flush.php

flash

https://www.php.net/manual/ja/function.flush.php

 - PHP

  関連記事

PHPで指定したカラーコードの反対色を計算し、カラーコードとして出力する方法
PHPで指定したカラーコードの反対色を計算し、カラーコードとして出力する方法

あるシステム内でユーザが指定したカラーコードをCSSで指定した上で出力するという ...

PHPにて「一億二千万」等の漢数字と通常の数字(アラビア数字)の相互変換を行う方法
PHPにて「一億二千万」等の漢数字と通常の数字(アラビア数字)の相互変換を行う方法

PHPにて漢数字と普通の数字の相互変換を行いたい。例えば「123465789」⇔ ...

formにhCaptchaを組み込み、PHPで結果を検証する方法
formにhCaptchaを組み込み、PHPで結果を検証する方法

お問い合わせフォーム等でGoogle reCAPTCHAではなくhCaptcha ...

Podmanで導入したPHPの設定ファイル(php.ini)変更と高速化に関する設定方法
Podmanで導入したPHPの設定ファイル(php.ini)変更と高速化に関する設定方法

Podmanで導入したPHPの設定ファイル(php.ini)の内容を変更したい。 ...

PHPでログインフォームにひらがな認証を設置する方法
PHPでログインフォームにひらがな認証を設置する方法

ログインフォームに平仮名認証を設置したい。英数字認証だとSecurimageとい ...