vfprintf функцияси
vfprintf vfprintf функцияси спецификаторларга мувофиқ форматланган сатрни файл оқимига ёзади. Биринчи параметр сифатида файл ресурсини, иккинчиси - формат сатрини, учинчиси - алмаштириш учун аргументлар массивини қабул қилади. Формат сатрида % белгисидан бошланадиган ва чиқиш форматини бошқарадиган махсус символлар (формат спецификаторлари) ишлатилади.
Синтаксис
vfprintf(resource $handle, string $format, array $args): int
Формат спецификаторлари
| Спецификатор | Тавсиф |
|---|---|
%s |
Сатр |
%d |
Имзоли бутун сон (ўнлик) |
%u |
Имзосиз бутун сон (ўнлик) |
%f |
Сузнуқ нуқтали сон (локалга боглик) |
%F |
Сузнуқ нуқтали сон (локалга боглик эмас) |
%c |
ASCII-код бўйича символ |
%x |
Ун олттилик тизимдаги бутун сон (кичик ҳарф) |
%X |
Ун олттилик тизимдаги бутун сон (катта ҳарф) |
%o |
Ун саккизлик тизимдаги бутун сон |
%b |
Ун иккилик тизимдаги бутун сон |
%e |
Илмий ёзув (кичик ҳарф) |
%E |
Илмий ёзув (катта ҳарф) |
%g |
%e ёки %f нинг қисқа ёзуви |
%G |
%E ёки %F нинг қисқа ёзуви |
%% |
Фоиз белгиси |
Мисол
Форматланган сатрни файлга ёзиш:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
output.txt файлининг таркиби:
'Number: 10, Float: 20.50, String: test'
Мисол
Турли спецификаторларни ишлатиш:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Чиқиш натижаси:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''