Analyser une chaîne :
<?php$str = "age:30 poids:60kg";sscanf($str,"age:%d poids:%dkg",$age,$weight);// afficher les types et les valeursvar_dump($age,$weight) );?>La fonction sscanf() analyse l'entrée d'une chaîne selon un format spécifié. La fonction sscanf() analyse une chaîne en une variable basée sur une chaîne de format.
Si vous ne transmettez que deux arguments à la fonction, les données seront renvoyées sous forme de tableau. Sinon, si des paramètres supplémentaires sont transmis, les données analysées seront stockées dans ces paramètres. Si le nombre de séparateurs est supérieur au nombre de variables les contenant, une erreur se produit. Cependant, si le nombre de séparateurs est inférieur au nombre de variables les contenant, les variables supplémentaires contiennent NULL.
Fonctions associées :
printf() - génère une chaîne formatée
sprintf() - écrit une chaîne formatée dans une variable
sscanf( chaîne,format,arg1,arg2,arg++ )
paramètre | décrire |
---|---|
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 correspondant à la valeur ASCII %d - nombre décimal avec signe (négatif, 0, positif) %e - Utiliser la notation scientifique en minuscules (par exemple 1.2e+2) %u - Nombre décimal sans signe (supérieur ou égal à 0) %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. Doit être placé entre % et une lettre (par exemple %.2f) : + (Ajoutez + ou - devant un nombre pour définir le signe du nombre. Par défaut, seuls les nombres négatifs sont marqués, et les nombres positifs ne sont pas marqués) ' (Spécifie ce qu'il faut utiliser comme remplissage, par défaut des espaces. Il doit être utilisé avec un spécificateur de largeur. Par exemple : %'x20s (utilisez "x" comme remplissage)) - (valeur variable de réglage gauche) [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 perturbées. |
arg1 | Facultatif. La première variable pour stocker des données. |
arg2 | Facultatif. Une deuxième variable pour stocker les données. |
argument++ | Facultatif. Les troisième et quatrième variables qui stockent les données. Et ainsi de suite. |
Valeur de retour : | Si vous ne transmettez que deux arguments à la fonction, les données seront renvoyées sous forme de tableau. Sinon, si des paramètres supplémentaires sont transmis, les données analysées seront stockées dans ces paramètres. Si le nombre de séparateurs est supérieur au nombre de variables les contenant, une erreur se produit. Cependant, si le nombre de séparateurs est inférieur au nombre de variables les contenant, les variables supplémentaires contiennent NULL. |
---|---|
Version PHP : | 4.0.1+ |
Utilisez les 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);?>