Funcția vfprintf
Funcția vfprintf scrie un șir formatat conform specificatorilor într-un flux de fișier. Primul parametru primește un resursă de fișier, al doilea - un șir de format, al treilea - o matrice de argumente pentru substituție. În șirul de format sunt utilizați caractere speciale (specificatori de format), care încep cu semnul % și controlează formatarea ieșirii.
Sintaxă
vfprintf(resource $handle, string $format, array $args): int
Specificatori de format
| Specificator | Descriere |
|---|---|
%s |
Șir de caractere |
%d |
Număr întreg cu semn (zecimal) |
%u |
Număr întreg fără semn (zecimal) |
%f |
Număr cu virgulă mobilă (dependent de localizare) |
%F |
Număr cu virgulă mobilă (independent de localizare) |
%c |
Caracter după codul ASCII |
%x |
Număr întreg în sistem hexazecimal (litere mici) |
%X |
Număr întreg în sistem hexazecimal (litere mari) |
%o |
Număr întreg în sistem octal |
%b |
Număr întreg în sistem binar |
%e |
Notație științifică (litere mici) |
%E |
Notație științifică (litere mari) |
%g |
Notație scurtă %e sau %f |
%G |
Notație scurtă %E sau %F |
%% |
Semnul procentului |
Exemplu
Scrierea unui șir formatat în fișier:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Conținutul fișierului output.txt:
'Number: 10, Float: 20.50, String: test'
Exemplu
Utilizarea diferiților specificatori:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Rezultatul afișării:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''