ホームページ  >  記事  >  バックエンド開発  >  PHP 配列をヘッダー付きの適切にフォーマットされた CSV ファイルに変換する方法

PHP 配列をヘッダー付きの適切にフォーマットされた CSV ファイルに変換する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-19 18:58:30282ブラウズ

How to Convert a PHP Array to a Well-Formatted CSV File with Headers?

PHP 配列の CSV への変換: 合理化されたソリューション

PHP で配列を CSV ファイルに変換するのは面倒な場合があります。適切にフォーマットされた 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 ファイルが生成される可能性があります。

解決策: fputcsv() を使用する

この問題を解決するには、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 が適切にフォーマットされていることを確認します。 .

補足

  • メモリ内に CSV を作成するには、ファイル名をハードコーディングする代わりに fopen('php://output', 'w') を使用します。
  • header() で CSV ダウンロードに適切なヘッダーを設定します。
  • fputcsv() を使用して、CSV のヘッダー行と後続の行を書き込みます。
  • 最後にファイルを閉じますfclose() を使用します。

以上がPHP 配列をヘッダー付きの適切にフォーマットされた CSV ファイルに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。