在 PHP 中将数组转换为 CSV 文件可能会很痛苦。如果您一直在努力生成格式正确的 CSV,本文将提供更好的解决方案。
考虑以下代码:
<code class="php">$prods = [1, 2, 3]; foreach ($prods as $prod) { $sql = "SELECT * FROM products WHERE id = '$prod'"; $result = $mysqli->query($sql); $info = $result->fetch_array(); } // ... rest of the code</code>
此代码可能会生成一个长行的 CSV 文件,而不是带有标题和换行符的所需格式。
要解决此问题,请将写入 CSV 文件的代码替换为以下内容:
<code class="php">$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')); foreach($prod as $product) { fputcsv($output, $product); } fclose($output) or die("Can't close php://output");</code>
fputcsv() 函数自动处理转义、字段分隔符和行结尾,确保 CSV 格式正确.
以上是如何将 PHP 数组转换为带标题的格式正确的 CSV 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!