Funkcja vprintf() w PHP
Przykład
Wyświetla sformatowany ciąg znaków:
<?php $number = 9; $str = "Beijing"; vprintf("There are 쥕lion bicycles in %s.", array($number, $str)); ?>
Definicja i użycie
Funkcja vprintf() wyświetla sformatowany ciąg znaków.
W przeciwieństwie do printf(), parametry w vprintf() znajdują się w tablicy. Elementy tablicy będą wstawiane w miejsce znaków % w głównym łańcuchu. Funkcja jest wykonywana etapowo. W pierwszym znaku % wstawia się pierwszy element tablicy, w drugim znaku % wstawia się drugi element tablicy, itd.
Komentarz:Jeśli znak % jest większy arg Jeśli masz parametr, musisz użyć占位符。占位niki są umieszczane po znaku %, złożone z liczby i "\$". Zobacz przykład 2.
Wskazówka:Związane funkcje: sprintf(), printf(), vsprintf(), fprintf() i vfprintf()
Gramatyka
vprintf(format,argarray)
Parametr | Opis |
---|---|
format |
Wymagane. Określa ciąg znaków oraz sposób formatowania zmiennych w nim zawartych. Możliwe wartości formatujące:
Dodatkowe wartości formatujące. Muszą być umieszczone między % i literą (np. %.2f):
Komentarz:Jeśli używasz wielu wartości formatowych, muszą być one uporządkowane zgodnie z powyższym. |
argarray | Wymagane. Tablica z parametrami, które będą wstawione format W miejscu znaku % w ciągu. |
Szczegółowe informacje techniczne
Wartość zwracana: | Zwraca długość wyjściowego ciągu. |
Wersja PHP: | 4.1.0+ |
Więcej przykładów
Przykład 1
Używaj formatu %f:
<?php $num1 = 123; $num2 = 456; vprintf("%f%f",array($num1,$num2)); ?>
Przykład 2
Używaj占位符:
<?php $number = 123; vprintf("Z dwoma miejscami po przecinku:%1\$.2f<br>Bez miejsc po przecinku:%1\$u",array($number)); ?>
Przykład 3
Używaj printf() do pokazania 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); // Dziesiętna z znakiem printf("%%d = %d <br>",$num2); // Dziesiętna z znakiem printf("%%e = %e <br>",$num1); // Liczba naukowa (mała litera) printf("%%E = %E <br>",$num1); // Liczba naukowa (wielka litera) printf("%鑾u <br>",$num1); // Dziesiętna bez znaku (dodatnia) printf("%鑾u <br>",$num2); // Dziesiętna bez znaku (ujemna) 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ótszy niż %E i %f printf("%%o = %o <br>",$num1); // Liczba ósemkowa printf("%%s = %s <br>",$num1); // Ciąg znaków printf("%%x = %x <br>",$num1); // Liczba szesnastkowa (małe litery) printf("%%X = %X <br>",$num1); // Liczba szesnastkowa (wielkie litery) printf("%%+d = %+d <br>",$num1); // Opis znacznika symbolu (dodatni) printf("%%+d = %+d <br>",$num2); // Opis znacznika symbolu (ujemny) ?>
Przykład 4
Przykład demonstracji znacznika łańcucha znaków:
<?php $str1 = "Hello"; $str2 = "Hello world!"; vprintf("[%s]<br>",array($str1)); vprintf("[%8s]<br>",array($str1)); vprintf("[%-8s]<br>",array($str1)); vprintf("[%08s]<br>",array($str1)); vprintf("[%'*8s]<br>",array($str1)); vprintf("[%8.8s]<br>",array($str2)); ?>