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

Barbara Streisand
リリース: 2024-10-19 18:58:30
オリジナル
281 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!