Funkcja vsprintf
Funkcja vsprintf jest analogiczna do sprintf, ale przyjmuje argumenty w postaci tablicy,
a nie zmiennej liczby parametrów. Pierwszym parametrem jest przekazywany ciąg-wzorzec z
specyfikatorami formatu, drugim - tablica wartości do podstawienia. W ciągu formatu używane są specjalne znaki (specyfikatory formatu), które zaczynają się od znaku % i sterują formatowaniem wyjścia.
Składnia
vsprintf(string $format, array $args);
Specyfikatory formatu
| Specyfikator | Opis |
|---|---|
%s |
Ciąg znaków |
%d |
Liczba całkowita ze znakiem (dziesiętna) |
%u |
Liczba całkowita bez znaku (dziesiętna) |
%f |
Liczba zmiennoprzecinkowa (zależna od ustawień regionalnych) |
%F |
Liczba zmiennoprzecinkowa (niezależna od ustawień regionalnych) |
%c |
Znak według kodu ASCII |
%x |
Liczba całkowita w systemie szesnastkowym (małe litery) |
%X |
Liczba całkowita w systemie szesnastkowym (wielkie litery) |
%o |
Liczba całkowita w systemie ósemkowym |
%b |
Liczba całkowita w systemie dwójkowym |
%e |
Notacja naukowa (małe litery) |
%E |
Notacja naukowa (wielkie litery) |
%g |
Krótki zapis %e lub %f |
%G |
Krótki zapis %E lub %F |
%% |
Znak procentu |
Przykład
Podstawowy przykład formatowania ciągu z podstawieniem wartości:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Wynik wykonania kodu:
'Hello John! Today is Monday.'
Przykład
Użycie różnych specyfikatorów formatu:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Wynik wykonania kodu:
'2023-05-12'
Przykład
Praca z liczbami zmiennoprzecinkowymi:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Wynik wykonania kodu:
'Price: $19.99'