Funktsioon vfprintf
Funktsioon vfprintf kirjutab stringi, mis on vormindatud vastavalt spetsifikatsioonidele, failivoogu. Esimesena võtab see failiresursi, teisena - vormingu stringi, kolmandana - argumentide massiivi asendamiseks. Vormingu stringis kasutatakse spetsiaalseid sümboleid (vormingu spetsifikaatoreid), mis algavad märgiga % ja juhib väljundi vormindamist.
Süntaks
vfprintf(resource $handle, string $format, array $args): int
Vormingu spetsifikatsioonid
| Spetsifikatsioon | Kirjeldus |
|---|---|
%s |
String |
%d |
Märgiga täisarv (kümnendsüsteem) |
%u |
Märgita täisarv (kümnendsüsteem) |
%f |
Ujukomaarv (lokaalist sõltuv) |
%F |
Ujukomaarv (mitte lokaalist sõltuv) |
%c |
Sümbol vastavalt ASCII-koodile |
%x |
Täisarv kuueteistkümnendsüsteemis (väiketähed) |
%X |
Täisarv kuueteistkümnendsüsteemis (suurtähed) |
%o |
Täisarv kaheksandsüsteemis |
%b |
Täisarv kahendsüsteemis |
%e |
Teaduslik märge (väiketähed) |
%E |
Teaduslik märge (suurtähed) |
%g |
Lühike vorm %e või %f |
%G |
Lühike vorm %E või %F |
%% |
Protsendimärk |
Näide
Vormindatud stringi kirjutamine faili:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Faili output.txt sisu:
'Number: 10, Float: 20.50, String: test'
Näide
Erinevate spetsifikatsioonide kasutamine:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Väljundi tulemus:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''