正确的方法来使用PHP fputcsv函数来导出CSV文件

我想要做的是,导出一些数据集的Excel,而不使用额外的第三方,沉重的图书馆。

问题是,当我导出文件时,第一行看起来不错,但从第二行开始,它将所有的$row数据放入当前行的第一个字段。

所以我得到的第一行文件正确地放置在右列,从第二行开始而不是列我看到整个文本在第一个字段由分隔符(逗号分隔)

在这里输入图像说明

这里是我用于结果的代码片段。

  $counter=0; $file = fopen("sample.csv", "w"); foreach ($registrants as $registrant) { $row = [ 'Fullname' => $registrant->fullname, 'Phone' => $registrant->phone, 'Email' => $registrant->email, ]; if ($counter == 0) fputcsv($file, array_keys($row)); fputcsv($file, $row); $counter++; } fclose($file); 

也试过

  fputcsv($file, array_values($row), ';', ' '); 

没有成功。 我究竟做错了什么? 无论操作系统或Excel语言环境如何,在所有Excel版本上查看正确结果的正确方法是什么?