PHP sscanf()Fonctions

PHP String 参考手册Manuel de référence des chaînes PHP

Exemples

Analyser une chaîne :

<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// afficher les types et les valeurs
var_dump($age,$weight);
?>

Exécuter l'exemple »

La fonction sscanf() analyse l'entrée à partir d'une chaîne selon le format spécifié. La fonction sscanf() analyse une chaîne en variables en fonction de la chaîne de format.

Si seulement deux arguments sont passés à la fonction, les données seront renvoyées sous forme de tableau. Sinon, si des paramètres supplémentaires sont passés, les données analysées seront stockées dans ces paramètres. Si le nombre de spécificateurs est supérieur au nombre de variables qui les contiennent, une erreur se produit. Cependant, si le nombre de spécificateurs est inférieur au nombre de variables qui les contiennent, les variables supplémentaires contiennent NULL.

Fonctions associées :

  • printf()- Afficher une chaîne formatée
  • sprintf()- Écrire une chaîne formatée dans une variable

Syntaxe

sscanf(string,format,arg1,arg2,arg++)

Parameters Description
string Requis. Spécifie la chaîne à lire.
format Requis. Spécifie le format à utiliser.

Valeurs de format possibles :

  • %% - Renvoie un signe de pourcentage %
  • %c - Caractère correspondant à la valeur ASCII
  • %d - Nombre décimal avec signe (négatif, zéro, positif)
  • %e - Notation scientifique en minuscules (par ex. 1.2e+2)
  • %u - Nombre décimal sans signe (supérieur ou égal à 0)
  • %f - Nombre à virgule flottante
  • %o - Nombre octal
  • %s - Chaîne de caractères
  • %x - Nombre hexadécimal (lettres minuscules)
  • %X - Nombre hexadécimal (lettres majuscules)

Valeurs de format supplémentaires. Doivent être placées entre % et la lettre (par ex. %.2f) :

  • + (Ajoute + ou - avant un nombre pour définir le signe. Par défaut, seuls les nombres négatifs sont marqués, les nombres positifs ne le sont pas)
  • ' (Spécifie ce qu'il faut utiliser comme remplissage, la valeur par défaut est l'espace. Il doit être utilisé avec le spécificateur de largeur. Par exemple : %'x20s (en utilisant "x" comme remplissage))
  • - (Aligne à gauche la valeur de la variable)
  • [0-9] (Spécifie la largeur minimale de la valeur de la variable)
  • .[0-9] (Spécifie le nombre de décimales ou la longueur maximale de la chaîne)

Remarque :Si plusieurs valeurs de format ci-dessus sont utilisées, elles doivent être utilisées dans l'ordre ci-dessus et ne peuvent pas être réorganisées.

arg1 Facultatif. La première variable pour stocker les données.
arg2 Facultatif. La deuxième variable pour stocker les données.
arg++ Facultatif. Les troisième et quatrième variables pour stocker des données. Et ainsi de suite.

Détails techniques

Valeur de retour : Si seulement deux arguments sont passés à la fonction, les données seront renvoyées sous forme de tableau. Sinon, si des paramètres supplémentaires sont passés, les données analysées seront stockées dans ces paramètres. Si le nombre de spécificateurs est supérieur au nombre de variables qui les contiennent, une erreur se produit. Cependant, si le nombre de spécificateurs est inférieur au nombre de variables qui les contiennent, les variables supplémentaires contiennent NULL.
Version de PHP : 4.0.1+


Plus d’exemples

Exemple 1

Utilisez les valeurs de format %s, %d et %c :

<?php
$str = "If you divide 4 by 2 you'll get 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>

Exécuter l'exemple »


PHP String 参考手册Manuel de référence des chaînes PHP Autres extensions