vfprintf funksiyasi
vfprintf funksiyasi format spesifikatorlariga muvofiq formatlangan qatorni fayl oqimiga yozadi. Birinchi parametr sifatida fayl resursini, ikkinchisida - format qatorini, uchinchisida - almashtirish uchun argumentlar massivini qabul qiladi. Format qatorida % belgisidan boshlanadigan va chiqarish formatlashini boshqaradigan maxsus belgilar (format spesifikatorlari) ishlatiladi.
Sintaksis
vfprintf(resource $handle, string $format, array $args): int
Format spesifikatorlari
| Spesifikator | Tavsif |
|---|---|
%s |
Qator |
%d |
Imzoli butun son (o'nlik) |
%u |
Imzosiz butun son (o'nlik) |
%f |
Suzuvchi nuqtali son (lokal-ga bog'liq) |
%F |
Suzuvchi nuqtali son (lokal-ga bog'liq emas) |
%c |
ASCII-kod bo'yicha belgi |
%x |
O'n oltilik tizimdagi butun son (kichik registr) |
%X |
O'n oltilik tizimdagi butun son (katta registr) |
%o |
Sakkizlik tizimdagi butun son |
%b |
Ikkilik tizimdagi butun son |
%e |
Ilmiy yozuv (kichik registr) |
%E |
Ilmiy yozuv (katta registr) |
%g |
%e yoki %f ning qisqa yozuvi |
%G |
%E yoki %F ning qisqa yozuvi |
%% |
Foiz belgisi |
Misol
Formatlangan qatorni faylga yozish:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Son: %d, Suzuvchi nuqta: %.2f, Qator: %s", $values);
fclose($file);
?>
output.txt faylining tarkibi:
'Son: 10, Suzuvchi nuqta: 20.50, Qator: test'
Misol
Turli spesifikatorlardan foydalanish:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "O'n oltilik: %x, Ilmiy: %.2e, To'ldirish: '%5s'", $data);
fclose($res);
?>
Chiqarish natijasi:
'O'n oltilik: f, Ilmiy: 1.23e+1, To'ldirish: \' ABCDE\''