fgetcsv()FunctionReads a line from the file pointer and parses the CSV field.
Similar to fgets(), except that fgetcsv() parses the read line and finds the fields in CSV format, then returns anarraycontaining these fields.
fgetcsv() returns FALSE on error, including when the end of file is encountered.
Note: As of PHP 4.3.5, the operation of fgetcsv() is binarysafe.
Syntax
fgetcsv(file,length,separator,enclosure)
Parameters | Description |
---|---|
file | Required. Specifies the documents to be checked. |
length | Optional. Specifies the maximum length of a line. Must be larger than the longest line in the CVS file. This parameter is optional in PHP 5. Required before PHP 5. If you omit (set to 0 in PHP 5.0.4 and later versions) this parameter, there is no limit to the length, but it may affect execution efficiency. |
separator | Optional. Set field delimiter (only one character allowed), default is comma. |
enclosure | Optional. Set field wrapping character (only one character allowed), default value is double quotes. This parameter was added in PHP 4.3.0. |
#The interpretation of enclosure is the characters surrounding the field.
Fields containing commas, double quotes, or newline characters must be placed within quotes (special handling is required when there are only three special values).
The quotation mark inside the field must be preceded by a quotation mark to achieve quotation mark transcoding.
Spaces before and after the comma separator may not be trimmed. Line breaks in
elements will be preserved.
Corresponding to the following example, it will be easier to understand the above explanation.
Field 1 Field 3
goog veture"vision,good" ’’ ‐ ‐ ‐ ‐ ‐ ‐ ‐ , ‐ 1 to 12 To take it out and save it into an array, you must limit the format stored in the csv file.
There are two situations for the content stored in csv:
(1) Case 1, directly goog,veture "vision, good", abc
This way you will find What comes out is not what you want. Its array output is
Array ([0] => goog [1] => vetur"evision [2] => good" [3] => abc )
(2) Case 2: The content in the csv is goog, "veture" "vision, good""", abc
. This is the original content that has been modified according to the above instructions. Added double quotes around characters.
The array output is what we want
Array ( [0] => goog [1] => veture"vision,good" [2] => abc )
For some additions explained above, if the field contains commas, just enclose the field in double quotes, no need to add it in Place double quotes before the comma.
The above is the detailed content of Detailed explanation of php fgetcsv() function syntax parameter enclosure. For more information, please follow other related articles on the PHP Chinese website!