Fonction vfprintf
La fonction vfprintf écrit une chaîne, formatée selon des spécificateurs, dans un flux de fichier. Elle prend comme premier paramètre une ressource de fichier, comme deuxième - une chaîne de format, et comme troisième - un tableau d'arguments pour la substitution. 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
vfprintf(resource $handle, string $format, array $args): int
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 (non dé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 |
Format court %e ou %f |
%G |
Format court %E ou %F |
%% |
Signe pourcent |
Exemple
Écriture d'une chaîne formatée dans un fichier :
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Contenu du fichier output.txt :
'Number: 10, Float: 20.50, String: test'
Exemple
Utilisation de différents spécificateurs :
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Résultat de la sortie :
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''