Функция vsprintf
Функция vsprintf sprintf функциясига ўхшайди, лекин ўзгаргувчан сонидаги параметрлар ўрнига массив кўринишидаги аргументларни қабул қилади.
Биринчи параметр сифатида формат спецификаторлари билан сатр-намуна ўтказилади, иккинчиси - алмаштириш учун қийматлар массиви. Формат сатрида % белгиси билан босилган ва чиқиш форматини бошқарувчи махсус белгилар (формат спецификаторлари) ишлатилади.
Синтаксис
vsprintf(string $format, array $args);
Формат спецификаторлари
| Спецификатор | Тавсиф |
|---|---|
%s |
Сатр |
%d |
Белгили бутун сон (ўнлик) |
%u |
Белгисиз бутун сон (ўнлик) |
%f |
Сузгувчи нуқтали сон (локалга боглик) |
%F |
Сузгувчи нуқтали сон (локалга боглик эмас) |
%c |
ASCII-код бўйича белги |
%x |
Ўн олттилик саноқ системасидаги бутун сон (кичик ҳарфлар) |
%X |
Ўн олттилик саноқ системасидаги бутун сон (катта ҳарфлар) |
%o |
Ўн саккизлик саноқ системасидаги бутун сон |
%b |
Иккилик саноқ системасидаги бутун сон |
%e |
Илмий ёзув (кичик ҳарфлар) |
%E |
Илмий ёзув (катта ҳарфлар) |
%g |
Қисқа ёзув %e ёки %f |
%G |
Қисқа ёзув %E ёки %F |
%% |
Фоиз белгиси |
Мисол
Қийматларни алмаштириш билан сатрни форматлашнинг асосий мисоли:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Кодни ишга тушириш натижаси:
'Hello John! Today is Monday.'
Мисол
> Турли формат спецификаторларини ишлатиш:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Кодни ишга тушириш натижаси:
'2023-05-12'
Мисол
Сузгувчи нуқтали сонлар билан ишлаш:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Кодни ишга тушириш натижаси:
'Price: $19.99'