wtorek,
PHP: Funkcje z rodziny printf()
Funkcje z rodziny printf() w języku PHP są używane do formatowania ciągów znaków, a wyniki ich działania są zwracane w różny sposób. Są to printf(), vprintf(), sprintf(), vsprintf(), fprintf() oraz vfrpintf(), każda z nich działa w nieco inny sposób, ale wszystkie wykorzystują podobną składnię formatowania.
Formatowanie
Wszystkie te funkcje używają specyfikatorów formatu, takich jak %s dla ciągów, %d dla liczb całkowitych, %f dla liczb zmiennoprzecinkowych, które pozwalają określić, jak wartości powinny być prezentowane w ciągu wynikowym. Można także określić szerokość pola, precyzję i wiele innych opcji formatowania.
Zastosowanie
Funkcje te są użyteczne w wielu scenariuszach, od prostego wyświetlania i zapisywania danych w czytelnej formie, po bardziej złożone zadania, takie jak tworzenie ciągów dla interfejsów użytkownika lub raportów.
1. Funkcja printf()
Funkcja printf() służy do formatowania i wyświetlania ciągu znaków.
Składnia
printf(string $format, mixed ...$values): int
Przykład
$num = 5;
$location = 'klasie';
$format = 'W %s znajduje się %d uczniów.';
printf($format, $location, $num);
2. Funkcja vprintf()
Funkcja vprintf() jest podobna do printf(), ale przyjmuje tablicę wartości do formatowania, co jest przydatne w dynamicznych lub bardziej złożonych scenariuszach.
Składnia
vprintf(string $format, array $values): int
Przykład
$values = array('klasie', 5);
vprintf("W %s znajduje się %d uczniów.", $values);
3. Funkcja sprintf()
Funkcja sprintf() jest podobna do printf(), ale zamiast wyświetlać sformatowany ciąg, zwraca go.
Składnia
sprintf(string $format, mixed ...$values): string
Przykład
$str = sprintf("Ilość %d", 10);
echo $str;
4. Funkcja vsprintf()
Funkcja vsprintf() jest podobna do sprintf(), ale zamiast przyjmować zmienną liczbę argumentów, pobiera tablicę wartości, które mają być sformatowane według określonego wzorca.
Składnia
vsprintf(string $format, array $values): string
Przykład
$format = 'Imię: %s, Wiek: %d';
$values = array('Anna', 30);
$result = vsprintf($format, $values);
echo $result;
5. Funkcja fprintf()
Funkcja fprintf() zapisuje sformatowany ciąg do określonego zasobu pliku.
Składnia
fprintf(resource $handle, string $format, mixed ...$values): int
Przykład
$file = fopen("test.txt", "w");
$num = 6;
fprintf($file, "Zapisuje ocenę: %d", $num);
fclose($file);
6. Funkcja fprintf()
Funkcja vfprintf() jest bardzo podobna do fprintf(), ale zamiast przyjmować zmienną liczbę argumentów, przyjmuje tablicę argumentów.
Składnia
vfprintf(resource $stream, string $format, array $values): int
Przykład
$file = fopen("example.txt", "w");
$format = "Imię: %s, Wiek: %d";
$values = array('John', 25);
vfprintf($file, $format, $values);
fclose($file);