Fonction vsprintf
La fonction vsprintf est analogue à sprintf, mais elle accepte les arguments sous forme de tableau,
et non pas comme un nombre variable de paramètres. Le premier paramètre est une chaîne de modèle avec
des spécificateurs de format, le second - un tableau de valeurs à substituer. Dans la chaîne de format, des caractères spéciaux (spécificateurs de format) sont utilisés, qui commencent par le signe % et contrôlent le formatage de la sortie.
Syntaxe
vsprintf(string $format, array $args);
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 de la locale) |
%F |
Nombre à virgule flottante (indépendant de la locale) |
%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
Exemple basique de formatage de chaîne avec substitution de valeurs :
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Résultat de l'exécution du code :
'Hello John! Today is Monday.'
Exemple
Utilisation de différents spécificateurs de format :
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Résultat de l'exécution du code :
'2023-05-12'
Exemple
Travail avec les nombres à virgule flottante :
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Résultat de l'exécution du code :
'Price: $19.99'