Funktsiya vsprintf
Funktsiya vsprintf sprintf ga o'xshaydi,
lekin argumentlarni o'zgaruvchan sonli parametrlar o'rniga massiv shaklida qabul qiladi.
Birinchi parametr sifatida format spesifikatorlari bilan andoza satri o'tkaziladi,
ikkinchisi - almashtirish uchun qiymatlar massivi. Format satrida % belgisidan boshlanadigan maxsus belgilar (format spesifikatorlari) ishlatiladi, ular chiqish formatini boshqaradi.
Sintaksis
vsprintf(string $format, array $args);
Format spesifikatorlari
| Spesifikator | Ta'rif |
|---|---|
%s |
Satr |
%d |
Belgili butun son (o'nlik) |
%u |
Belgisiz 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
Qiymatlarni almashtirish bilan satrni formatlashning asosiy misoli:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Kodni bajarish natijasi:
'Hello John! Today is Monday.'
Misol
Turli format spesifikatorlaridan foydalanish:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Kodni bajarish natijasi:
'2023-05-12'
Misol
Suzuvchi nuqtali sonlar bilan ishlash:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Kodni bajarish natijasi:
'Price: $19.99'