fgetcsv() 関数 ファイル ポインターから 1 行を読み取り、CSV フィールドを解析します。
fgets() と似ていますが、fgetcsv() は読み取った行を解析して CSV 形式のフィールドを見つけ、それらのフィールドを含む 配列 を返す点が異なります。
fgetcsv() は、ファイルの終わりに達した場合など、エラーが発生した場合に FALSE を返します。
注: PHP 4.3.5 の時点では、fgetcsv() の操作はバイナリ 安全 です。
構文
fgetcsv(file,length,separator,enclosure)
パラメータ | 説明 |
---|---|
ファイル | 必須。チェックするドキュメントを指定します。 |
長さ |
オプション。線の最大長を指定します。 CVS ファイル内の最長の行よりも大きくなければなりません。 PHP 5 では、このパラメータはオプションです。 PHP 5 より前では必須。 このパラメータを省略した場合(PHP 5.0.4 以降のバージョンでは 0 に設定)、長さに制限はありませんが、実行効率に影響を与える可能性があります。 |
区切り文字 | はオプションです。フィールド区切り文字を設定します (1 文字のみ使用可能)。デフォルトはカンマです。 |
エンクロージャー |
オプション。フィールド折り返し文字を設定します (1 文字のみ使用可能)。デフォルト値は二重引用符です。 このパラメータは PHP 4.3.0 で追加されました。 |
囲いの説明はフィールドを囲む文字です。
コンマ、二重引用符、または改行文字を含むフィールドは引用符で囲む必要があります (特別な処理が必要となるのは 3 つの特別な値のみです)。
引用符トランスコーディングを実現するには、フィールド内の引用符の前に引用符を付ける必要があります。
カンマ区切りの前後のスペースは削除されない場合があります。
要素内の改行は保持されます。
以下の例に対応すると、上記の説明が理解しやすくなります。
フィールド 1保存形式には制限があります。
CSV に保存されたコンテンツには 2 つの状況があります:
(1) ケース 1、直接 goog,veture "vision, Good", abc
この方法では、得られるものは望むものではないことがわかります。 。その配列出力は
Array ( [0] => goog [1] => vetur"evision [2] => Good" [3] => abc )
(2) ケース 2、csvコンテンツは goog,"veture""vision,good""",abc
これは、上記の手順に従って変更されたオリジナルのコンテンツです。文字の周りに二重引用符を追加しました。
配列出力が私たちが望むものです
Array ( [0] => goog [1] => veture"vision,good" [2] => abc )
上記の説明にいくつか追加すると、フィールドにカンマが含まれている場合は、フィールドを二重引用符で囲むだけでよく、フィールドの前に二重引用符を追加する必要はありません。コンマ。
以上がphp fgetcsv()関数構文パラメータ囲いの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。