(PHP 5 >= 5.2.0, PHP 7, PHP 8)
SplFileObject::setCsvControl — Définit les options CSV
$separator
= ",", string $enclosure
= "\"", string $escape
= "\\"): voidDéfinit le délimiteur, le caratère d'échappement ainsi que le caractère utilisé pour entourer les champs CSV analysés.
separator
Le délimiteur de champs (un caractère d'un seul octet).
enclosure
Le caractère utilisé pour entourer le champ (un caractère d'un seul octet).
escape
Le caractère utilisé pour échapper les données (au plus un caractère d'un seul octet).
Une chaîne de caractères vide (""
) désactive le mécanisme d'échappement propriétaire.
Lorsque le escape
est défini sur autre chose qu'une chaîne vide
(""
), cela peut entraîner un CSV qui n'est pas conforme à
» RFC 4180 ou incapable de survivre à un aller-retour
à travers les fonctions CSV de PHP. La valeur par défaut pour escape
est
"\\"
, il est donc recommandé de la définir explicitement sur une chaîne vide.
La valeur par défaut changera dans une future version de PHP, au plus tôt dans PHP 9.0.
Aucune valeur n'est retournée.
Version | Description |
---|---|
7.4.0 |
Le paramètre escape accepte désormais une chaîne de
caractère vide afin de désactivé le mécanisme d'échapement propriétaire.
|
Exemple #1 Exemple avec SplFileObject::setCsvControl()
<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
list ($fruit, $quantity) = $row;
// Opération sur les données
}
?>
Contenu de data.csv
<?php apples|20 bananas|14 cherries|87 ?>