PHPで一括出力ではなく、ひとつずつ順次に出力する方法
2024/04/17
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
関連記事
- 
					
													  
- 
					PHPバージョンが古くjson_decodeが使えない際の対応方法(Services_JSON)PHPのバージョンが古くてjson_decodeが使えないという状況があった。ま ... 
- 
					
													  
- 
					PHPで値が空の配列を削除やりたかった事は配列でキーは入っていて値が入っていない ものを削除したかった。 ... 
- 
					
													  
- 
					PHPにて三項演算子をより簡単に書けるNull合体演算子についてPHPにて〇〇という変数もしくは配列に値があれば××という変数にその値を格納、無 ... 
- 
					
													  
- 
					PHPでソーシャル(SNS)ログインする方法2018久しぶりにソーシャル(SNS)ログインを実装する機会があった。以前に対応方法を書 ... 
- 
					
													  
- 
					PHPにて文字のあいまい検索(文字のゆれ)を実装する方法Googleで検索する際に、ちょっと間違えて入力してしまっても「もしかして○○? ...