Funktio vsprintf
Funktio vsprintf on samanlainen kuin sprintf, mutta se ottaa argumentit taulukkona,
eikä vaihtelevana määränä parametreja. Ensimmäisenä parametrina välitetään merkkijonomalli, jossa on
muotoilumääritteet, toisena - arvojen taulukko, jotka sijoitetaan merkkijonoon. Muotoilumerkkijonossa käytetään erikoismerkkejä (muotoilumääritteitä), jotka alkavat merkillä % ja hallitsevat tulostuksen muotoilua.
Syntaksi
vsprintf(string $format, array $args);
Muotoilumääritteet
| Määrite | Kuvaus |
|---|---|
%s |
Merkkijono |
%d |
Etumerkillinen kokonaisluku (desimaali) |
%u |
Etumerkitön kokonaisluku (desimaali) |
%f |
Liukuluku (maakohtainen) |
%F |
Liukuluku (ei maakohtainen) |
%c |
Merkki ASCII-koodin mukaan |
%x |
Kokonaisluku heksadesimaalijärjestelmässä (pienet kirjaimet) |
%X |
Kokonaisluku heksadesimaalijärjestelmässä (isot kirjaimet) |
%o |
Kokonaisluku oktaalijärjestelmässä |
%b |
Kokonaisluku binäärijärjestelmässä |
%e |
Tieteellinen merkintätapa (pienet kirjaimet) |
%E |
Tieteellinen merkintätapa (isot kirjaimet) |
%g |
Lyhyt muoto %e tai %f |
%G |
Lyhyt muoto %E tai %F |
%% |
Prosenttimerkki |
Esimerkki
Perusesimerkki merkkijonon muotoilusta arvojen sijoittamisella:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Koodin suorituksen tulos:
'Hello John! Today is Monday.'
Esimerkki
Eri muotoilumääritteiden käyttö:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Koodin suorituksen tulos:
'2023-05-12'
Esimerkki
Työskentely liukulukujen kanssa:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Koodin suorituksen tulos:
'Price: $19.99'