Functie vsprintf
De functie vsprintf is analoog aan sprintf, maar accepteert argumenten als een array,
in plaats van een variabel aantal parameters. De eerste parameter is een string-patroon met
formatspecificaties, de tweede is een array met waarden voor substitutie. In de formatstring worden speciale tekens (formatspecificaties) gebruikt, die beginnen met het teken % en de opmaak van de output beheren.
Syntaxis
vsprintf(string $format, array $args);
Formatspecificaties
| Specificatie | Beschrijving |
|---|---|
%s |
String |
%d |
Geheel getal met teken (decimaal) |
%u |
Geheel getal zonder teken (decimaal) |
%f |
Getal met drijvende komma (locale-afhankelijk) |
%F |
Getal met drijvende komma (niet locale-afhankelijk) |
%c |
Karakter volgens ASCII-code |
%x |
Geheel getal in hexadecimaal systeem (kleine letters) |
%X |
Geheel getal in hexadecimaal systeem (hoofdletters) |
%o |
Geheel getal in octaal systeem |
%b |
Geheel getal in binair systeem |
%e |
Wetenschappelijke notatie (kleine letters) |
%E |
Wetenschappelijke notatie (hoofdletters) |
%g |
Korte notatie van %e of %f |
%G |
Korte notatie van %E of %F |
%% |
Procentteken |
Voorbeeld
Basisvoorbeeld van stringformattering met substitutie van waarden:
<?php
$res = vsprintf('Hallo %s! Vandaag is het %s.', ['John', 'maandag']);
echo $res;
?>
Resultaat van de code:
'Hallo John! Vandaag is het maandag.'
Voorbeeld
Gebruik van verschillende formatspecificaties:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Resultaat van de code:
'2023-05-12'
Voorbeeld
Werken met getallen met drijvende komma:
<?php
$res = vsprintf('Prijs: $%.2f', [19.99]);
echo $res;
?>
Resultaat van de code:
'Prijs: $19.99'