ホームページ  >  記事  >  バックエンド開発  >  php fgetcsv()関数構文パラメータ囲いの詳細説明

php fgetcsv()関数構文パラメータ囲いの詳細説明

怪我咯
怪我咯オリジナル
2017-07-11 09:18:102240ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。