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

phpvsprintf(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<?php
  $res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
  echo $res;
?>

Wynik wykonania kodu:

php'Hello John! Today is Monday.'

Przykład

Użycie różnych specyfikatorów formatu:

php<?php
  $res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
  echo $res;
?>

Wynik wykonania kodu:

php'2023-05-12'

Przykład

Praca z liczbami zmiennoprzecinkowymi:

php<?php
  $res = vsprintf('Price: $%.2f', [19.99]);
  echo $res;
?>

Wynik wykonania kodu:

php'Price: $19.99'

Zobacz też

  • funkcję sprintf,
    która formatuje ciąg ze zmienną liczbą argumentów
  • funkcję printf,
    która wypisuje sformatowany ciąg