データベースから取得したデータを使用して PHP で CSV ファイルに書き込む最も効率的な方法を再確認したいだけです。
現在、SQLクエリを実行してデータを取得した後、whileループを使用してデータを変数に割り当て、そのwhileループ内でファイルに書き込みます。そのようです
$fp = fopen("../" . $this->portal . "/" . $this->folder . "/" . $this->fileName . ".csv", 'a+');
$data = array();
while ($row = sqlsrv_fetch_array($getList, SQLSRV_FETCH_ASSOC)) {
$data['id'] = $row['id'];
$data['empId'] = $row['empId'];
$data['fullname'] = $row['fullname'];
$data['title'] = $row['title'];
$data['department'] = $row['department'];
fputcsv($fp, array_values($data));
}
fclose($fp);
各反復からのデータをcsv形式の文字列変数に割り当ててから、ループ全体で連結する方が速いのではないかと思っています。ループが完了したら、その変数をファイルに書き込みますか? それは何らかの形でより速いでしょうか?または、より効率的なcsvファイルに完全に書き込む別の方法はありますか?