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

Przykłady uruchomieniowe

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:

  • %% - zwraca procent (%)
  • %b - liczba binarna
  • %c - znak odpowiadający wartości ASCII
  • %d - dziesiętna liczba z znakiem (+ lub -) (ujemna, 0, dodatnia)
  • %e - używa małych liter w skali naukowej (np. 1.2e+2)
  • %E - używa dużych liter w skali naukowej (np. 1.2E+2)
  • 蒝ziesiętna liczba bez znaku (+) (większa 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 formatujące. Muszą być umieszczone między % i literą (np. %.2f):

  • + (dodaje + lub - przed liczbą, aby zdefiniować jej znak. Domyślnie oznaczane są tylko liczby ujemne, liczby dodatnie nie są oznaczane)
  • '' (określa, co użyć jako wypełnienia, domyślnie jest to spacja. Musi być używane razem z określeniem szerokości. Na przykład: '%x20s (używa "x" jako wypełnienia)
  • - (lewe wyważenie 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ż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łady uruchomieniowe

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

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

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

Przykłady uruchomieniowe