Maison  >  Article  >  développement back-end  >  Explication détaillée de l'enceinte des paramètres de syntaxe de la fonction php fgetcsv()

Explication détaillée de l'enceinte des paramètres de syntaxe de la fonction php fgetcsv()

怪我咯
怪我咯original
2017-07-11 09:18:102217parcourir

fgetcsv() La fonction lit une ligne du pointeur de fichier et analyse les champs CSV.

Similaire à fgets(), sauf que fgetcsv() analyse la ligne de lecture et trouve les champs au format CSV, puis renvoie un tableau contenant ces champs.

fgetcsv() renvoie FALSE en cas d'erreur, y compris lorsque la fin du fichier est rencontrée.

Remarque : Depuis PHP 4.3.5, le fonctionnement de fgetcsv() est binaire sûr.

Syntaxe

fgetcsv(file,length,separator,enclosure)
Paramètres Description
fichier Obligatoire. Spécifie les documents à vérifier.
longueur
参数 描述
file 必需。规定要检查的文件。
length

可选。规定行的最大长度。必须大于 CVS 文件内最长的一行。

在 PHP 5 中该参数是可选的。在 PHP 5 之前是必需的。

如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。

separator 可选。设置字段分界符(只允许一个字符),默认值为逗号。
enclosure

可选。设置字段环绕符(只允许一个字符),默认值为双引号。

该参数是在 PHP 4.3.0 中添加的。

Facultatif. Spécifie la longueur maximale d'une ligne. Doit être plus grand que la ligne la plus longue du fichier CVS.

Ce paramètre est facultatif en PHP 5. Requis avant PHP 5.


Si ce paramètre est omis (mis à 0 dans les versions postérieures à PHP 5.0.4), il n'y a pas de limite de longueur, mais cela peut affecter l'efficacité d'exécution.

séparateur Facultatif. Définissez le délimiteur de champ (un seul caractère autorisé), la valeur par défaut est la virgule.
Boîtier
En option. Définir le caractère de retour à la ligne du champ (un seul caractère autorisé), la valeur par défaut est des guillemets doubles.

Ce paramètre a été ajouté dans PHP 4.3.0.

L'interprétation de l'enceinte réside dans les personnages entourant le champ.

Les champs contenant des virgules, des guillemets doubles ou des nouvelles lignes doivent être placés entre guillemets (un traitement spécial est requis lorsqu'il n'y a que trois valeurs spéciales).

Le guillemet à l'intérieur du champ doit être précédé d'un guillemet pour réaliser le transcodage des guillemets.

Les espaces avant et après le délimiteur virgule ne peuvent pas être coupés. Les sauts de ligne dans les éléments

seront conservés.

Correspondant à l'exemple suivant, il sera plus facile de comprendre l'explication ci-dessus.

Champ 1                                                                              ' s         ‐    ‐ off ‐ ‐ ‐ ,                                                                à () le lire Pour le retirer et l'enregistrer dans un tableau, vous devez limiter le format stocké dans le fichier csv.

Il existe deux situations pour le contenu stocké en csv :

(1) Cas 1, directement goog,veture "vision, good", abc

De cette façon vous vous découvrirez que ce qui sort n'est pas ce que vous voulez. Sa sortie de tableau est

Array ( [0] => goog [1] => vetur"evision [2] => good" [3] => abc )

(2) Cas 2 : Le contenu du csv est goog, "veture" "vision, good""", abc
Array ( [0] => goog [1] => veture"vision,good" [2] => abc )

Il s'agit du contenu original qui a été modifié selon les instructions ci-dessus. Ajout de guillemets doubles autour des caractères.

La sortie du tableau est ce que nous voulons

Pour certains ajouts expliqués ci-dessus, si le champ contient des virgules, il vous suffit de mettre le champ entre guillemets doubles, pas besoin Ensuite, ajoutez des doubles guillemets avant la virgule.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn