PHP vprintf()Funktionen

PHP String 参考手册PHP-String-Referenzhandbuch

Beispiele

Gibt eine formatierte Zeichenkette aus:

<?php
$number = 9;
$str = "Beijing";
vprintf("There are %u million bicycles in %s.",array($number,$str));
?>

Beispiel ausführen »

Definition und Verwendung

Die Funktion vprintf() gibt eine formatierte Zeichenkette aus.

Anders als bei printf() werden die Parameter von vprintf() in einem Array abgelegt. Array-Elemente werden an den Prozentzeichen (%) in der Hauptzeichenkette eingefügt. Diese Funktion wird Schritt für Schritt ausgeführt. Beim ersten %-Zeichen wird das erste Array-Element eingefügt, beim zweiten %-Zeichen das zweite Array-Element und so weiter.

Hinweis:Wenn es mehr %-Zeichen als arg-Parameter gibt, müssen Sie Platzhalter verwenden. Der Platzhalter wird nach dem %-Zeichen eingefügt und besteht aus einer Zahl und "\$". Siehe Beispiel 2.

Tipp:Verwandte Funktionen:sprintf()、 printf()、 vsprintf()、 fprintf()undvfprintf()


Syntax

vprintf(format,argarray)

Parameters Beschreibung
format Erforderlich. Gibt die Zeichenfolge an und wie die darin enthaltenen Variablen formatiert werden.

Mögliche Formatwerte:

  • %% - Gibt ein Prozentzeichen % zurück
  • %b - Binärzahl
  • %c - Das Zeichen, das dem ASCII-Wert entspricht
  • %d - Dezimalzahl mit Vorzeichen (negativ, null, positiv)
  • %e - Wissenschaftliche Notation mit Kleinbuchstaben (z. B. 1.2e+2)
  • %E - Wissenschaftliche Notation mit Großbuchstaben (z. B. 1.2E+2)
  • %u - Vorzeichenlose Dezimalzahl (>= 0)
  • %f - Gleitkommazahl (lokale Einstellungen)
  • %F - Gleitkommazahl (nicht-lokale Einstellungen)
  • %g - Kürzere Darstellung von %e und %f
  • %G - Kürzere Darstellung von %E und %f
  • %o - Oktalzahl
  • %s - Zeichenkette
  • %x - Hexadezimalzahl (Kleinbuchstaben)
  • %X - Hexadezimalzahl (Großbuchstaben)

Zusätzliche Formatwerte. Müssen zwischen % und dem Buchstaben platziert werden (z. B. %.2f):

  • + (Fügt + oder - vor einer Zahl hinzu, um ihr Vorzeichen festzulegen. Standardmäßig werden nur negative Zahlen markiert, positive Zahlen nicht)
  • ' (Gibt an, was als Auffüllzeichen verwendet werden soll. Standardmäßig ist es ein Leerzeichen. Es muss zusammen mit einem Breitenspezifizierer verwendet werden. Zum Beispiel: %'x20s (verwendet "x" als Auffüllzeichen))
  • - (Richtet den Variablenwert links aus)
  • [0-9] (Gibt die Mindestbreite des Variablenwerts an)
  • .[0-9] (Gibt die Anzahl der Dezimalstellen oder die maximale Zeichenfolgenlänge an)

Hinweis:Wenn mehrere der oben genannten Formatwerte verwendet werden, müssen sie in der oben genannten Reihenfolge verwendet werden und dürfen nicht neu angeordnet werden.

argarray Erforderlich. Ein Array mit Argumenten, die an den %-Zeichen in der Formatzeichenfolge eingefügt werden.

Technische Details

Rückgabewert: Gibt die Länge der Ausgabezeichenkette zurück.
PHP-Version: 4.1.0+


Weitere Beispiele

Beispiel 1

Verwenden des Formatwerts %f:

<?php
$num1 = 123;
$num2 = 456;
vprintf("%f%f",array($num1,$num2));
?>

Beispiel ausführen »

Beispiel 2

Verwendung von Platzhaltern:

<?php
$number = 123;
vprintf("With 2 decimals: %1$.2f
<br>Ohne Dezimalstellen: %1$u",array($number));
?>

Beispiel ausführen »

Beispiel 3

Verwenden Sie printf(), um alle möglichen Formatwerte zu demonstrieren:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // Das ASCII-Zeichen 50 ist 2

// Hinweis: Der Formatwert "%%" gibt ein Prozentzeichen zurück
printf("%%b = %b <br>",$num1); // Binärzahl
printf("%%c = %c <br>",$char); // Das ASCII-Zeichen
printf("%%d = %d <br>",$num1); // Dezimalzahl mit Vorzeichen
printf("%%d = %d <br>",$num2); // Dezimalzahl mit Vorzeichen
printf("%%e = %e <br>",$num1); // Wissenschaftliche Notation (Kleinbuchstaben)
printf("%%E = %E <br>",$num1); // Wissenschaftliche Notation (Großbuchstaben)
printf("%%u = %u <br>",$num1); // Vorzeichenlose Dezimalzahl (positiv)
printf("%%u = %u <br>",$num2); // Vorzeichenlose Dezimalzahl (negativ)
printf("%%f = %f <br>",$num1); // Gleitkommazahl (abhängig von lokalen Einstellungen)
printf("%%F = %F <br>",$num1); // Gleitkommazahl (nicht abhängig von lokalen Einstellungen)
printf("%%g = %g <br>",$num1); // Kürzere von %e und %f
printf("%%G = %G <br>",$num1); // Kürzere von %E und %f
printf("%%o = %o <br>",$num1); // Oktalzahl
printf("%%s = %s <br>",$num1); // Zeichenkette
printf("%%x = %x <br>",$num1); // Hexadezimale Zahl (Kleinbuchstaben)
printf("%%X = %X <br>",$num1); // Hexadezimale Zahl (Großbuchstaben)
printf("%%+d = %+d <br>",$num1); // Vorzeichen-Spezifizierer (positiv)
printf("%%+d = %+d <br>",$num2); // Vorzeichen-Spezifizierer (negativ)
?>

Beispiel ausführen »

Beispiel 4

Demonstration der String-Spezifizierer:

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

Beispiel ausführen »


PHP String 参考手册PHP-String-Referenzhandbuch Andere Erweiterungen