Funkcija vfprintf
Funkcija vfprintf įrašo eilutę, suformatuotą pagal specifikatorius, į failų srautą. Pirmu parametru priima failų resursą, antru - formato eilutę, trečiu - argumentų masyvą pakeitimui. Formato eilutėje naudojami specialūs simboliai (formato specifikatoriai), kurie prasideda ženklu % ir valdo išvesties formatavimą.
Sintaksė
vfprintf(resource $handle, string $format, array $args): int
Formato specifikatoriai
| Specifikatorius | Aprašas |
|---|---|
%s |
Eilutė |
%d |
Sveikasis skaičius su ženklu (dešimtainis) |
%u |
Sveikasis skaičius be ženklo (dešimtainis) |
%f |
Slankiojo kablelio skaičius (nuo lokalės priklausomas) |
%F |
Slankiojo kablelio skaičius (nuo lokalės nepriklausomas) |
%c |
Simbolis pagal ASCII kodą |
%x |
Sveikasis skaičius šešioliktainėje sistemoje (mažosios raidės) |
%X |
Sveikasis skaičius šešioliktainėje sistemoje (didžiosios raidės) |
%o |
Sveikasis skaičius aštuntainėje sistemoje |
%b |
Sveikasis skaičius dvejetainėje sistemoje |
%e |
Mokslinis žymėjimas (mažosios raidės) |
%E |
Mokslinis žymėjimas (didžiosios raidės) |
%g |
Trumpasis %e arba %f žymėjimas |
%G |
Trumpasis %E arba %F žymėjimas |
%% |
Procento ženklas |
Pavyzdys
Formatuotos eilutės įrašymas į failą:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Failo output.txt turinys:
'Number: 10, Float: 20.50, String: test'
Pavyzdys
>Įvairių specifikatorių naudojimas:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Išvesties rezultatas:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''