Funktionen vsprintf
Funktionen vsprintf svarer til sprintf, men accepterer argumenter i form af en matrix,
i stedet for et variabelt antal parametre. Den første parameter er en strengskabelon med
formatspecifikationer, den anden er en matrix med værdier til indsættelse. Strengformatet bruger specielle tegn (formatspecifikationer), som starter med tegnet % og styrer formateringen af output.
Syntaks
vsprintf(string $format, array $args);
Formatspecifikationer
| Specifikation | Beskrivelse |
|---|---|
%s |
Streng |
%d |
Heltegn med fortegn (decimal) |
%u |
Heltegn uden fortegn (decimal) |
%f |
Flydende kommatal (lokaleafhængig) |
%F |
Flydende kommatal (ikke lokaleafhængig) |
%c |
Karakter efter ASCII-kode |
%x |
Heltegn i hexadecimalt system (små bogstaver) |
%X |
Heltegn i hexadecimalt system (store bogstaver) |
%o |
Heltegn i oktalt system |
%b |
Heltegn i binært system |
%e |
Videnskabelig notation (små bogstaver) |
%E |
Videnskabelig notation (store bogstaver) |
%g |
Kort notation %e eller %f |
%G |
Kort notation %E eller %F |
%% |
Procenttegn |
Eksempel
Grundlæggende eksempel på strengformatering med indsættelse af værdier:
<?php
$res = vsprintf('Hej %s! I dag er det %s.', ['John', 'mandag']);
echo $res;
?>
Resultat af kodeudførelse:
'Hej John! I dag er det mandag.'
Eksempel
Brug af forskellige formatspecifikationer:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Resultat af kodeudførelse:
'2023-05-12'
Eksempel
Arbejde med flydende kommatal:
<?php
$res = vsprintf('Pris: $%.2f', [19.99]);
echo $res;
?>
Resultat af kodeudførelse:
'Pris: $19.99'