PHP sscanf() Fonction
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);
?> 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 :
Valeurs de format supplémentaires. Celles-ci sont placées entre le % et la lettre (exemple %.2f) :
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);
?>