PHP sscanf() Fonction

❮ Référence de chaîne PHP

Exemple

Analyser une chaîne :

<?php
$str = "age:30 poids:60kg";
sscanf($str,"age:%d poids:%dkg",$age,$weight);
// afficher les types et les valeurs
var_dump($age,$weight);
?>
Essayez-le vous-même »

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

Si seulement deux paramètres sont passés à cette fonction, les données seront renvoyées sous forme de tableau. Sinon, si des paramètres optionnels sont fournis, les données analysées y seront stockées. S'il y a plus de spécificateurs que de variables pour les contenir, une erreur se produit. Cependant, s'il y a moins de spécificateurs que de variables, les variables supplémentaires contiendront NULL.

Fonctions associées :


Syntaxe

sscanf( chaîne,format,arg1,arg2,arg++ )

Valeurs des paramètres

Paramètre Description
chaîne Requis. Spécifie la chaîne à lire
format Requis. Spécifie le format à utiliser.

Valeurs de format possibles :

  • %% - Renvoie un signe de pourcentage
  • %c - Le caractère selon la valeur ASCII
  • %d - Nombre décimal signé (négatif, zéro ou positif)
  • %e - Notation scientifique utilisant une minuscule (par exemple 1.2e+2)
  • %u - Nombre décimal non signé (égal ou supérieur à zéro)
  • %f - Nombre à virgule flottante
  • %o - Nombre octal
  • %s - Chaîne
  • %x - Nombre hexadécimal (lettres minuscules)
  • %X - Nombre hexadécimal (lettres majuscules)

Valeurs de format supplémentaires. Celles-ci sont placées entre le % et la lettre (exemple %.2f) :

  • + (Force à la fois + et - devant les nombres. Par défaut, seuls les nombres négatifs sont marqués)
  • ' (Spécifie ce qui doit être utilisé comme remplissage. Par défaut, c'est un espace. Doit être utilisé avec le spécificateur de largeur. Exemple : %'x20s (cela utilise "x" comme remplissage)
  • - (Justifie à 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 chiffres décimaux ou la longueur maximale de la chaîne)

Remarque : Si plusieurs valeurs de format supplémentaires sont utilisées, elles doivent être dans le même ordre que ci-dessus.

arg1 Optionnel. La première variable pour stocker les données
arg2 Optionnel. La deuxième variable pour stocker les données
arg++ Optionnel. La troisième, quatrième, etc., pour stocker les données


Détails techniques

Valeur de retour : Si seulement deux paramètres sont passés à cette fonction, les données seront renvoyées sous forme de tableau. Sinon, si des paramètres optionnels sont fournis, les données analysées y seront stockées. S'il y a plus de spécificateurs que de variables pour les contenir, une erreur se produit. Cependant, s'il y a moins de spécificateurs que de variables, les variables supplémentaires contiendront NULL.
Version PHP : 4.0.1+

Plus d'exemples

Exemple

Utilisation des valeurs de format %s, %d et %c :

<?php
$str = "Si vous divisez 4 par 2, vous obtiendrez 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>
Essayez-le vous-même »

❮ Référence de chaîne PHP