A vfprintf függvény
A vfprintf függvény egy speciális formátumjelzők szerint formázott sztringet ír a fájladatfolyamba. Az első paraméter egy fájl erőforrás, a második egy formátumsztring, a harmadik pedig a beillesztendő argumentumok tömbje. A formátumsztring speciális karaktereket (formátum-specifikátorokat) használ, amelyek a % jellel kezdődnek és irányítják a kimenet formázását.
Szintaxis
vfprintf(resource $handle, string $format, array $args): int
Formátum-specifikátorok
| Specifikátor | Leírás |
|---|---|
%s |
Sztring |
%d |
Előjeles egész szám (decimális) |
%u |
Előjel nélküli egész szám (decimális) |
%f |
Lebegőpontos szám (locale függő) |
%F |
Lebegőpontos szám (nem locale függő) |
%c |
Karakter ASCII-kód alapján |
%x |
Egész szám hexadecimális rendszerben (kisbetű) |
%X |
Egész szám hexadecimális rendszerben (nagybetű) |
%o |
Egész szám oktális rendszerben |
%b |
Egész szám bináris rendszerben |
%e |
Tudományos jelölés (kisbetű) |
%E |
Tudományos jelölés (nagybetű) |
%g |
Rövid forma %e vagy %f |
%G |
Rövid forma %E vagy %F |
%% |
Százalékjel |
Példa
Formázott sztring írása fájlba:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'teszt'];
vfprintf($file, "Szám: %d, Lebegő: %.2f, Sztring: %s", $values);
fclose($file);
?>
Az output.txt fájl tartalma:
'Szám: 10, Lebegő: 20.50, Sztring: teszt'
Példa
Különböző specifikátorok használata:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Tudományos: %.2e, Kitöltés: '%5s'", $data);
fclose($res);
?>
Kimenet eredménye:
'Hex: f, Tudományos: 1.23e+1, Kitöltés: \' ABCDE\''