可以有效实现将产品数组转换为 CSV 文件的目标。但是,有一些细微差别需要解决。
在您的代码中,主要问题似乎在于使用多个循环,这可能会导致不良的单行 CSV 输出。
< ;h3>更好的解决方案
要克服这个问题,请考虑使用内置 PHP 函数 fputcsv()。以下是改进的代码片段:
<code class="php">$sql = "SELECT id, name, description FROM products"; if ($result = $mysqli->query($sql)) { $output = fopen("php://output", 'w') or die("Can't open php://output"); header("Content-Type:application/csv"); header("Content-Disposition:attachment;filename=pressurecsv.csv"); fputcsv($output, array('id', 'name', 'description')); while ($p = $result->fetch_array()) { fputcsv($output, $p); } fclose($output) or die("Can't close php://output"); }</code>
在此修改后的方法中:
注意:如果您不想存储,请记住在创建文件后 unlink() 文件服务器上的副本。
通过实施这些更改,您可以生成格式良好的 CSV 文件,其中包含预期的标题和换行符。
以上是如何解决 PHP 数组到 CSV 的转换问题并实施更好的方法的详细内容。更多信息请关注PHP中文网其他相关文章!