SplFileObject::fscanf

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fscanfAnalyse une entrée d'un fichier suivant un format donné

Description

public function SplFileObject::fscanf(string $format, mixed &...$vars): array|int|null

Lit une ligne depuis un fichier et l'analyse suivant le format format spécifié.

Les espaces blancs dans la chaîne format correspondent aux espaces blancs dans la ligne du fichier. Ceci signifie qu'une tabulation (\t) dans le format va correspondre à un seul caractère blanc dans le flux d'entrée.

Liste de paramètres

format

Le format interprété pour string décrit dans la documentation de la sprintf() avec les différences suivantes :

  • La fonction ne tient pas compte du contexte local.
  • F, g, G et b ne sont pas supportés.
  • D représente un nombre décimal.
  • i représente un nombre entier avec détection de base.
  • n représente le nombre de caractères traités à ce stade.
  • s arrête la lecture à chaque caractère d'espacement.
  • * au lieu de argnum$ supprime l'affectation de cette spécification de conversion.

vars
Les valeurs optionnelles assignées.

Valeurs de retour

Si seul 1 paramètre est passé à cette méthode, la valeur analysée sera retournée sous la forme d'un array. Sinon, si des paramètres optionnels sont passés, la méthode retourne le nombre de valeurs assignées. Les paramètres optionnels doivent être passés par référence.

S'il y a plus de sous-chaînes attendues dans le format que disponibles dans la ligne lue depuis le fichier, null sera retourné.

Lorsque des paramètres optionnels sont utilisés et que la fin de la ligne lue depuis le fichier est atteinte avant qu'aucune valeur n'ait été analysée, -1 est retourné.

Exemples

Exemple #1 Exemple avec SplFileObject::fscanf()

<?php
$file
= new SplFileObject("misc.txt");
while (
$userinfo = $file->fscanf("%s %s %s")) {
list (
$name, $profession, $countrycode) = $userinfo;
// Faire des opérations sur $name $profession $countrycode
}
?>

Contenu de users.txt

javier   argonaut    pe
hiroshi  sculptor    jp
robert   slacker     us
luigi    florist     it

Voir aussi

  • fscanf() - Analyse un fichier en fonction d'un format
  • sscanf() - Analyse une chaîne à l'aide d'un format
  • printf() - Affiche une chaîne de caractères formatée
  • sprintf() - Retourne une chaîne formatée