Funktionen vsprintf
Funktionen vsprintf är analog med sprintf, men accepterar argument i form av en array,
istället för ett variabelt antal parametrar. Den första parametern är en strängmall med
formatspecifikationer, den andra är en array med värden för substitution. I formatsträngen används specialtecken (formatspecifikationer) som börjar med tecknet % och styr utdataformateringen.
Syntax
vsprintf(string $format, array $args);
Formatspecifikationer
| Specifikation | Beskrivning |
|---|---|
%s |
Sträng |
%d |
Heltal med tecken (decimalt) |
%u |
Heltal utan tecken (decimalt) |
%f |
Flyttal (lokalberoende) |
%F |
Flyttal (icke lokalberoende) |
%c |
Tecken enligt ASCII-kod |
%x |
Heltal i hexadecimalt system (gemener) |
%X |
Heltal i hexadecimalt system (versaler) |
%o |
Heltal i oktalt system |
%b |
Heltal i binärt system |
%e |
Vetenskaplig notation (gemener) |
%E |
Vetenskaplig notation (versaler) |
%g |
Kort notation av %e eller %f |
%G |
Kort notation av %E eller %F |
%% |
Procenttecken |
Exempel
Grundläggande exempel på strängformatering med substitutionsvärden:
<?php
$res = vsprintf('Hej %s! Idag är det %s.', ['John', 'måndag']);
echo $res;
?>
Resultat av kodkörning:
'Hej John! Idag är det måndag.'
Exempel
Användning av olika formatspecifikationer:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Resultat av kodkörning:
'2023-05-12'
Exempel
Arbete med flyttal:
<?php
$res = vsprintf('Pris: $%.2f', [19.99]);
echo $res;
?>
Resultat av kodkörning:
'Pris: $19.99'