【PHP8.x】str_getcsv関数の使い方

作成日: 更新日:

str_getcsv関数は、CSV(Comma Separated Values)形式の文字列を解析し、その内容を配列として取得する関数です。この関数は、外部からCSV形式で提供されたデータを、PHPプログラム内で扱いやすい形式に変換する際に非常に役立ちます。

具体的には、一つのCSV行に相当する文字列を入力として受け取り、その中の各フィールドを配列の要素として返します。デフォルトでは、カンマ「,」を各フィールドの区切り文字として、ダブルクォート「"」をフィールドを囲む文字として認識し処理します。しかし、CSV形式は用途によって区切り文字や囲み文字が異なる場合があるため、この関数はオプションとしてそれらの文字を指定できる柔軟性も持っています。例えば、セミコロンで区切られたCSVや、シングルクォートで囲まれたフィールドを持つCSVなどにも対応可能です。

関数が正常に処理を完了すると、解析された各フィールドの値を要素とする文字列の配列が返されます。これにより、CSVデータの内容に簡単にアクセスし、様々な処理を行うことができます。PHP 8以降では、期待される型ではない引数が渡された場合には TypeError が、不正なCSV形式の文字列や引数によって解析に失敗した場合には ValueError がスローされるため、堅牢なアプリケーションを構築するためにはこれらの例外を適切に処理することが推奨されます。

str_getcsv関数は、CSVデータのインポートやエクスポート機能を実装する上で、非常に基本的かつ重要な機能を提供します。

基本的な使い方

構文(syntax)

<?php
$csvString = "apple,banana,orange";
$array = str_getcsv($csvString);
print_r($array);
?>

引数(parameters)

string $string, string $separator = ',', string $enclosure = '"', string $escape = '\'

  • string $string: 処理対象のCSV形式の文字列
  • string $separator = ',': 区切り文字を指定する文字(デフォルトはカンマ)
  • string $enclosure = '"': 文字列を囲む文字を指定する文字(デフォルトはダブルクォーテーション)
  • string $escape = '\': エスケープ文字を指定する文字(デフォルトはバックスラッシュ)

戻り値(return)

array

指定されたCSV文字列をパースし、各フィールドを要素とする配列を返します。

【PHP8.x】str_getcsv関数の使い方 | いっしー@Webエンジニア