Funksjonen vsprintf
Funksjonen vsprintf er analog med sprintf, men tar argumenter i form av en matrise,
og ikke et variabelt antall parametere. Den første parameteren er en strengmal med
formatspecifikatorer, den andre er en matrise med verdier for innsetting. I formatstrengen brukes spesielle symboler (formatspecifikatorer) som starter med tegnet % og styrer formateringen av utdataene.
Syntaks
vsprintf(string $format, array $args);
Formatspecifikatorer
| Specifikator | Beskrivelse |
|---|---|
%s |
Streng |
%d |
Helttall med fortegn (desimalt) |
%u |
Helttall uten fortegn (desimalt) |
%f |
Flyttall (lokaleavhengig) |
%F |
Flyttall (ikke lokaleavhengig) |
%c |
Tegn etter ASCII-kode |
%x |
Helttall i heksadesimalsystemet (små bokstaver) |
%X |
Helttall i heksadesimalsystemet (store bokstaver) |
%o |
Helttall i oktalsystemet |
%b |
Helttall i binærsystemet |
%e |
Vitenskapelig notasjon (små bokstaver) |
%E |
Vitenskapelig notasjon (store bokstaver) |
%g |
Kortform for %e eller %f |
%G |
Kortform for %E eller %F |
%% |
Prosenttegn |
Eksempel
Grunnleggende eksempel på strengformatering med innsetting av verdier:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Resultat av kjøring av koden:
'Hello John! Today is Monday.'
Eksempel
Bruk av forskjellige formatspecifikatorer:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Resultat av kjøring av koden:
'2023-05-12'
Eksempel
Arbeid med flyttall:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Resultat av kjøring av koden:
'Price: $19.99'