Fonction sscanf
La fonction sscanf analyse une chaîne en utilisant le format spécifié,
et retourne les valeurs. Le premier paramètre de la fonction est la chaîne à analyser,
le second - la chaîne de format, et les paramètres suivants (optionnels) - les variables
dans lesquelles les résultats de l'analyse seront enregistrés.
La chaîne de format utilise des caractères spéciaux (spécificateurs de format) qui commencent par le signe % et contrôlent le formatage de la sortie.
Syntaxe
sscanf(string $str, string $format [, mixed &$... ]): mixed
Spécificateurs de format
| Spécificateur | Description |
|---|---|
%s |
Chaîne |
%d |
Nombre entier signé (décimal) |
%u |
Nombre entier non signé (décimal) |
%f |
Nombre à virgule flottante (dépendant des paramètres régionaux) |
%F |
Nombre à virgule flottante (non dépendant des paramètres régionaux) |
%c |
Caractère selon le code ASCII |
%x |
Nombre entier en système hexadécimal (minuscules) |
%X |
Nombre entier en système hexadécimal (majuscules) |
%o |
Nombre entier en système octal |
%b |
Nombre entier en système binaire |
%e |
Notation scientifique (minuscules) |
%E |
Notation scientifique (majuscules) |
%g |
Forme courte %e ou %f |
%G |
Forme courte %E ou %F |
%% |
Signe pourcent |
Exemple
Analysons une chaîne en extrayant un nombre et du texte :
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Résultat de l'exécution du code :
[42, 'the']
Exemple
Analysons une date en ses composantes :
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Résultat de l'exécution du code :
'Year: 2023, Month: 12, Day: 31'