Funkcja printf() w PHP
Przykład
Wysyłanie sformatowanego ciągu znaków:
<?php $number = 9; $str = "Pekin"; printf("W%s jest 쥕ionów rowerów.", $str, $number); ?>
Definicja i użycie
Funkcja printf() wyświetla sformatowany ciąg znaków.
arg1,arg2,arg++ Parametr zostanie wstawiony w miejscu znaku procentu (%) w głównym ciągu znaków. Funkcja jest wykonywana krok po kroku. W miejscu pierwszego symbolu %, wstaw arg1, w miejscu drugiego symbolu %, wstaw arg2, itd.
Komentarz:Jeśli symbol % jest większy niż arg Jeśli masz parametr, musisz użyć占位符.占位nik jest umieszczany za znakiem %, złożony z liczby i "\$". Zobacz przykład 2.
Wskazówka:Związane funkcje: sprintf(), vprintf(), vsprintf(), fprintf() i vfprintf()
Gramatyka
printf(format,arg1,arg2,arg++)
Parametry | Opis |
---|---|
format |
Wymagane. Określa ciąg znaków oraz sposób formatowania zmiennych w nim zawartych. Możliwe wartości formatowania:
Dodatkowe wartości formatowania. Muszą być umieszczone między % a literą (np. %.2f):
Komentarz:Jeśli używane są wiele z powyższych wartości formatowych, muszą być używane w kolejności, nie mogą być pomieszane. |
arg1 | Wymagane. Określa wartość do wstawienia format Argument po pierwszym znaku % w ciągu. |
arg2 | Wymagane. Określa wartość do wstawienia format Argument po drugim znaku % w ciągu. |
arg++ | Opcjonalnie. Określa wartość do wstawienia format Argumenty po trzecim, czwartym itd. znaku % w ciągu. |
Szczegółowe informacje techniczne
Zwracana wartość: | Zwraca długość wyjściowego ciągu znaków. |
Wersja PHP: | 4+ |
Więcej przykładów
Przykład 1
Użycie wartości formatowej %f:
<?php $number = 123; printf("%f",$number); ?>
Przykład 2
Użycie znaków zastępczych:
<?php $number = 123; printf("Z dwoma miejscami po przecinku:%1\$.2f<br>Bez miejsc po przecinku:%1\$u",$number); ?>
Przykład 3
Pokaz przykładów wszystkich możliwych wartości formatowych:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // Znak ASCII 50 to 2 // Komentarz: Wartość formatowa "%%" zwraca procent printf("%%b = %b <br>",$num1); // Liczba binarna printf("%%c = %c <br>",$char); // Znak ASCII printf("%%d = %d <br>",$num1); // Znakowy dziesiętny printf("%%d = %d <br>",$num2); // Znakowy dziesiętny printf("%%e = %e <br>",$num1); // Liczba w formacie naukowym (małe litery) printf("%%E = %E <br>",$num1); // Liczba w formacie naukowym (wielkie litery) printf("%鑾u <br>",$num1); // Nieznakowy dziesiętny (dodatni) printf("%鑾u <br>",$num2); // Nieznakowy dziesiętny (ujemny) printf("%%f = %f <br>",$num1); // Liczba zmiennoprzecinkowa (uwzględnia ustawienia lokalne) printf("%%F = %F <br>",$num1); // Liczba zmiennoprzecinkowa (nie uwzględnia ustawień lokalnych) printf("%%g = %g <br>",$num1); // Krótszy niż %e i %f printf("%%G = %G <br>",$num1); // Krótsze niż %E i %f printf("%%o = %o <br>",$num1); // Liczby ósemkowe printf("%%s = %s <br>",$num1); // Łańcuchy znaków printf("%%x = %x <br>",$num1); // Liczby szesnastkowe (małe litery) printf("%%X = %X <br>",$num1); // Liczby szesnastkowe (wielkie litery) printf("%%+d = %+d <br>",$num1); // Opis znaków (dodatni) printf("%%+d = %+d <br>",$num2); // Opis znaków (ujemny) ?>
Przykład 4
Przykład prezentacji znaków łańcuchowych:
<?php $str1 = "Hello"; $str2 = "Hello world!"; printf("[%s]<br>",$str1); printf("[%8s]<br>",$str1); printf("[%-8s]<br>",$str1); printf("[%08s]<br>",$str1); printf("[%'*8s]<br>",$str1); printf("[%8.8s]<br>",$str2); ?>