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);
?>

Przykłady uruchomieniowe

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:

  • %% - zwraca znak procentu (%)
  • %b - liczba binarna
  • %c - znak odpowiadający wartości ASCII
  • %d - dziesiętna liczba z znakiem (+ lub -) (ujemna, 0, dodatnia)
  • %e - użycie małych liter w formacie wykładniczym (np. 1.2e+2)
  • %E - użycie dużych liter w formacie wykładniczym (np. 1.2E+2)
  • 蒝ziesiętna liczba bez znaku (+ lub -) (powyżej lub równa 0)
  • %f - liczba zmiennoprzecinkowa (lokalizacyjna)
  • %F - liczba zmiennoprzecinkowa (nie lokalizacyjna)
  • %g - krótszy %e i %f
  • %G - krótszy %E i %f
  • %o - liczba ósemkowa
  • %s - ciąg znaków
  • %x - liczba szesnastkowa (małe litery)
  • %X - liczba szesnastkowa (duże litery)

Dodatkowe wartości formatowania. Muszą być umieszczone między % a literą (np. %.2f):

  • Przed liczbą można dodać + lub - aby określić jej znak. Domyślnie, tylko ujemne liczby są oznaczone, liczby dodatnie nie są oznaczane.
  • Ustawienie, co używać jako wypełnienia, domyślnie jest spacjum. Musi być używane razem z określeniem szerokości (np. wypełnienie).
  • - (lewe wyjustowanie wartości zmiennej)
  • .[0-9] (określa minimalną szerokość wartości zmiennej)
  • .[0-9] (określa liczbę miejsc po przecinku lub maksymalną długość ciągu)

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łady uruchomieniowe

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łady uruchomieniowe

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łady uruchomieniowe

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);
?>

Przykłady uruchomieniowe