vfprintf

funkcja

Jak fprintf, ale wartości przyjmuje jako tablicę zamiast listy argumentów. Zapisuje sformatowany ciąg do strumienia pliku.

vfprintf(resource $stream, string $format, array $values): int

vfprintf działa identycznie jak fprintf, z jedną różnicą: wartości do wstawienia w szablon przekazujesz jako tablicę, a nie jako kolejne argumenty funkcji. Dzięki temu możesz wygodnie formatować dane, które masz już zebrane w tablicy, bez rozpakowywania ich operatorem ....

Analogicznie vsprintf i vprintf to tablicowe wersje sprintf i printf.

<?php
declare(strict_types=1);

$pozycje = [
    ['Kawa',    12.5],
    ['Herbata',  8.0],
];

$sciezka = sys_get_temp_dir() . '/zamowienie.txt';
$plik = fopen($sciezka, 'w');

foreach ($pozycje as $wiersz) {
    vfprintf($plik, "%-20s %6.2f PLN\n", $wiersz);
}

fclose($plik);
unlink($sciezka);

// zamowienie.txt:
// Kawa                  12.50 PLN
// Herbata                8.00 PLN