Funkcija vsprintf
Funkcija vsprintf yra analogiška sprintf, bet priima argumentus kaip masyvą,
o ne kintamą parametrų skaičių. Pirmuoju parametru perduodama eilutė-šablonas su
formato specifikatoriais, antruoju - reikšmių masyvis pakeitimui. Eilutės formate naudojami specialūs simboliai (formato specifikatoriai), kurie prasideda ženklu % ir valdo išvesties formatavimą.
Sintaksė
vsprintf(string $format, array $args);
Formato specifikatoriai
| Specifikatorius | Aprašas |
|---|---|
%s |
Eilutė |
%d |
Sveikasis skaičius su ženklu (dešimtainis) |
%u |
Sveikasis skaičius be ženklo (dešimtainis) |
%f |
Slankiojo kablelio skaičius (nuo lokalės) |
%F |
Slankiojo kablelio skaičius (nepriklausomas nuo lokalės) |
%c |
Simbolis pagal ASCII kodą |
%x |
Sveikasis skaičius šešioliktainėje sistemoje (mažosios raidės) |
%X |
Sveikasis skaičius šešioliktainėje sistemoje (didžiosios raidės) |
%o |
Sveikasis skaičius aštuntainėje sistemoje |
%b |
Sveikasis skaičius dvejetainėje sistemoje |
%e |
Mokslinis žymėjimas (mažosios raidės) |
%E |
Mokslinis žymėjimas (didžiosios raidės) |
%g |
Trumpasis %e arba %f žymėjimas |
%G |
Trumpasis %E arba %F žymėjimas |
%% |
Procento ženklas |
Pavyzdys
Pagrindinis eilutės formatavimo su reikšmių pakeitimu pavyzdys:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Kodo vykdymo rezultatas:
'Hello John! Today is Monday.'
Pavyzdys
Įvairių formato specifikatorių naudojimas:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Kodo vykdymo rezultatas:
'2023-05-12'
Pavyzdys
Darbas su slankiojo kablelio skaičiais:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Kodo vykdymo rezultatas:
'Price: $19.99'