Home  >  Article  >  Backend Development  >  Detailed explanation of php fgetcsv() function syntax parameter enclosure

Detailed explanation of php fgetcsv() function syntax parameter enclosure

怪我咯
怪我咯Original
2017-07-11 09:18:102234browse

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 an array containing 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 binary safe.

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn