Funktion vsprintf
Die Funktion vsprintf ist analog zu sprintf, akzeptiert jedoch Argumente in Form eines Arrays
anstelle einer variablen Anzahl von Parametern. Der erste Parameter ist der String mit den
Formatspezifikationen, der zweite - das Array mit den Werten für die Einsetzung. Im Format-String werden spezielle Symbole (Format-Spezifizierer) verwendet, die mit dem Zeichen % beginnen und die Formatierung der Ausgabe steuern.
Syntax
vsprintf(string $format, array $args);
Format-Spezifizierer
| Spezifizierer | Beschreibung |
|---|---|
%s |
String |
%d |
Ganzzahl mit Vorzeichen (dezimal) |
%u |
Ganzzahl ohne Vorzeichen (dezimal) |
%f |
Gleitkommazahl (lokaleabhängig) |
%F |
Gleitkommazahl (nicht lokaleabhängig) |
%c |
Zeichen nach ASCII-Code |
%x |
Ganzzahl im Hexadezimalsystem (Kleinbuchstaben) |
%X |
Ganzzahl im Hexadezimalsystem (Großbuchstaben) |
%o |
Ganzzahl im Oktalsystem |
%b |
Ganzzahl im Binärsystem |
%e |
Wissenschaftliche Schreibweise (Kleinbuchstaben) |
%E |
Wissenschaftliche Schreibweise (Großbuchstaben) |
%g |
Kurzschreibweise %e oder %f |
%G |
Kurzschreibweise %E oder %F |
%% |
Prozentzeichen |
Beispiel
Ein grundlegendes Beispiel zur String-Formatierung mit Wert-Einsetzung:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Ergebnis der Code-Ausführung:
'Hello John! Today is Monday.'
Beispiel
Verwendung verschiedener Format-Spezifizierer:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Ergebnis der Code-Ausführung:
'2023-05-12'
Beispiel
Arbeit mit Gleitkommazahlen:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Ergebnis der Code-Ausführung:
'Price: $19.99'