我只想仔细检查使用从数据库中检索的数据使用 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 文件?