PHPでCSVファイルをヘッダー付きの配列に変換する方法


  1. file_get_contents()とstr_getcsv()を使用する方法:

    $file = 'data.csv';
    $csvData = file_get_contents($file);
    $lines = explode(PHP_EOL, $csvData);
    $headers = str_getcsv(array_shift($lines));
    $result = [];
    foreach ($lines as $line) {
    $row = array_combine($headers, str_getcsv($line));
    $result[] = $row;
    }
    print_r($result);
  2. fgetcsv()を使用する方法:

    $file = fopen('data.csv', 'r');
    $headers = fgetcsv($file);
    $result = [];
    while (($data = fgetcsv($file)) !== false) {
    $row = array_combine($headers, $data);
    $result[] = $row;
    }
    fclose($file);
    print_r($result);

どちらの方法も、まずCSVファイルを読み込み、ヘッダー行を取得します。次に、各データ行をヘッダーと組み合わせて連想配列に変換し、結果の配列に追加します。

これらのコード例を使用すると、PHPでCSVファイルをヘッダー付きの配列に変換することができます。ご参考までにお使いください。