vsprintf

funkcja

Formatuje ciąg znaków według wzorca sprintf, ale wartości do wstawienia przekazuje jako tablicę zamiast listy oddzielnych argumentów.

vsprintf(string $format, array $values): string

vsprintf działa identycznie jak sprintf, ale zamiast przekazywać wartości jako kolejne argumenty funkcji, podajesz je w jednej tablicy. To duże ułatwienie, gdy dane do wstawienia masz już zebrane w tablicy — np. z bazy danych, formularza lub konfiguracji.

Zwraca gotowy ciąg znaków (nie wypisuje go na wyjście — do tego służy vprintf).

<?php
declare(strict_types=1);

$dane = ['Anna', 3];
$komunikat = vsprintf('Witaj, %s! Masz %d wiadomości.', $dane);
echo $komunikat; // wynik: Witaj, Anna! Masz 3 wiadomości.

// Formatowanie kwoty z tablicy z bazy danych
$wiersz = ['produkt' => 'Kawa', 'cena' => 9.5];
echo vsprintf('%-20s %05.2f zł', [$wiersz['produkt'], $wiersz['cena']]);
// wynik: Kawa                 09.50 zł

Wzorce formatujące są takie same jak w sprintf: %s to string, %d to liczba całkowita, %f to zmiennoprzecinkowa, %05.2f to liczba z wiodącymi zerami i dwiema miejscami po przecinku.

📘 Naucz się w lekcji →