Funkcja PHP printf() wyświetla na ekranie łańcuch sformatowany za pomocą specjalnego szablonu zwanego łańcuchem formatowania (ang. format string), czyli zestawu opcji określających sposób prezentacji.
Składnia funkcji PHP printf()
Funkcja PHP printf() ma następującą składnię:
printf(string $format, mixed ...$values): int
Parametry funkcji PHP printf()
| Parametr | Opis |
|---|---|
| format | Parametr obowiązkowy. Parametr ten reprezentuje łańcuch formatowania, który składa się z dwóch typów elementów: zwykłych znaków przenoszonych do wyniku bezpośrednio, bez żadnych zmian, oraz specyfikacji konwersji (ang. conversion specification), których blok zaczyna się od pojedynczego znaku %. Składnia specyfikacji konwersji jest następująca:
Znaczenie poszczególnych elementów specyfikacji konwersji: nr_arg — liczba całkowita zakończona znakiem dolara. Określa, którego argumentu dotyczy dany specyfikator. W poniższym kodzie na przykład specyfikator dotyczy drugiego argumentu reprezentującego wartość: flagi — dostępne są następujące flagi:
szerokość — szerokość pola można określić na dwa sposoby — wpisując liczbę całkowitą lub znak
dokładność — ten parametr określa liczbę miejsc po przecinku w sformatowanej wartości. Składa się z kropki i następującej po niej liczby całkowitej, określającej dokładność, lub z kropki i gwiazdki. Znaczenie gwiazdki zależy od specyfikatora, a jej wartość jest pobierana z argumentu bezpośrednio poprzedzającego argument formatowanej wartości:
Przykład: Wynik: Twój wynik to 0000025.1234568 Jeśli wydaje Ci się, że po przecinku jest 8 cyfr, to dobrze się przyjrzyj. Jest ich 7, tylko końcówka została zaokrąglona do specyfikator — dostępne są następujące specyfikatory:
Jak to działa:
Aby ułatwić zrozumienie tego algorytmu, wykonamy szczegółowe obliczenia dla przykładu przedstawionego powyżej:
Wszystko się zgadza: 250 to liczba dziesiętna składająca się z trzech pierwszych cyfr znaczących formatowanej wartości i nieposiadająca cyfr po przecinku.
Uwaga: jeśli wartość zmiennej jest innego typu niż oczekiwany przez specyfikator, to zostanie odpowiednio przekonwertowana. |
| values | Parametr obowiązkowy. Wartości wykorzystywane przez specyfikację formatowania. |
Wartość zwrotna
Funkcja PHP printf() zwraca długość sformatowanego łańcucha.
Typ zwrotny: int.
Dodatkowe przykłady
Rozbiór przykładu na czynniki
Aby ułatwić zrozumienie działania funkcji printf(), poniżej przedstawiam szczegółowy opis konkretnego przykładu:
printf("Twój wynik to %2$'_15.*f pkt.", 3, 25.3954545);Wynik:
Twój wynik to _________25.395 pkt.
Twój wynik to— zwykły tekst, który zostanie bez zmian przeniesiony do wyniku.%— początek specyfikacji formatowania.2$— określenie, którego argumentu dotyczy dana specyfikacja.'_— określa znak dopełnienia wartości.15— szerokość pola, w którym prezentowana jest wartość..*— oznacza, że liczba miejsc po przecinku jest określona przez argument bezpośrednio poprzedzający ten, który reprezentuje formatowaną wartość.f— oznacza, że formatowana wartość ma być traktowana jako liczba zmiennoprzecinkowa.pkt.— zwykły tekst, który zostanie bez zmian przeniesiony do wyniku.
Prezentacja wartości jako liczby binarnej
Poniższe wywołanie funkcji PHP printf() przedstawi przekazaną wartość w formacie binarnym:
printf("Liczba binarna: %b", 21);Prezentacja wartości jako liczby ósemkowej
Poniższe wywołanie funkcji PHPprintf() przedstawi przekazaną wartość w formacie ósemkowym:
printf("Liczba ósemkowa: %o", 21);Prezentacja wartości jako liczby szesnastkowej
Poniższe wywołanie funkcji PHP printf() przedstawi przekazaną wartość w formacie szesnastkowym z małymi literami:
printf("Liczba szesnastkowa: %x", 21);Prezentacja liczby w notacji naukowej
Poniższe wywołanie funkcji PHP printf() przedstawi przekazaną wartość w notacji naukowej:
printf("Notacja naukowa: %e", 123456789);Znak ASCII o określonym numerze
Poniższe wywołanie funkcji PHP printf() wyświetli znak ASCII o podanym numerze:
printf("Znak ASCII: %c", 126);
