PHPで配列をCSVに変換する方法


  1. fputcsv関数を使用する方法:

    $data = array(
    array('Name', 'Age', 'Email'),
    array('John Doe', 25, '[email protected]'),
    array('Jane Smith', 30, '[email protected]')
    );
    $file = fopen('output.csv', 'w');
    foreach ($data as $row) {
    fputcsv($file, $row);
    }
    fclose($file);

    上記のコードでは、fputcsv関数を使用してCSVファイルに配列のデータを書き込んでいます。fopen関数でファイルを開き、fputcsv関数で各行をCSV形式で書き込みます。最後にfclose関数でファイルを閉じます。

  2. CSVファイルを直接生成する方法:

    $data = array(
    array('Name', 'Age', 'Email'),
    array('John Doe', 25, '[email protected]'),
    array('Jane Smith', 30, '[email protected]')
    );
    $csv_content = '';
    foreach ($data as $row) {
    $csv_content .= implode(',', $row) . "\n";
    }
    file_put_contents('output.csv', $csv_content);

    上記のコードでは、implode関数を使用して配列の要素をカンマ区切りの文字列に変換し、file_put_contents関数を使用してCSVファイルを生成しています。

  3. League\Csvライブラリを使用する方法 (外部ライブラリのインストールが必要です):

    require 'vendor/autoload.php';
    use League\Csv\Writer;
    $data = array(
    array('Name', 'Age', 'Email'),
    array('John Doe', 25, '[email protected]'),
    array('Jane Smith', 30, '[email protected]')
    );
    $csv = Writer::createFromPath('output.csv', 'w');
    $csv->insertAll($data);

    上記のコードでは、"League\Csv"ライブラリを使用してCSVファイルを生成しています。Composerを使用してライブラリをインストールし、Writer::createFromPathメソッドでCSVファイルを作成します。insertAllメソッドを使用して配列のデータを挿入します。

これらはPHPで配列をCSVに変換するいくつかの方法です。どの方法を選ぶかは、プロジェクトの要件や個人の好みによります。ご参考までにお使いください。