printf: Ausgabe anhand eines Formatierungs-Strings:
int printf ( string $format [, mixed $args [, mixed $... ]] )
Wir betrachten zunächst nur den Formatierungs-String ($format).
Simples Beispiel:
<?php $dauer = 5; $wetter = 'Regen'; $format = 'Es wird %d Tage %s geben.'; echo sprintf($format, $anzahl, $ort); ?>
Output: Es wird 5 Tage Regen geben.
Formatierungs-Strings:
Tasten wir uns auf dieser basis mal an die Formatierungs-Strings heran. Neben den gewöhnlichen Zeichen (ohne %) gibt es also entsprechende Umsetzungs-Anweisungen. Die wichtigsten Typangaben sind m.E.:
- %b binary
- %d decimal
- %f float
- %o octal
- %e scientific notation
- %s string
Die Formatierungs-Anweisung beginnt also mit einem %, gefolgt von einem oder mehreren der nachfolgenden Elemente (die Typangabe zum Schluss):
- Optionale Vorzeichenangabe, Angabe erzwingt dieses
<?php $x = 12.12; printf('%+f', $x) ); // 12.12 ?>
- Optionales Füllzeichen: Zeichen, mit dem Ein String bis zu einer best. Länge aufgefüllt wird, standardmäßig Leerzeichen, wenn anderer Wert als Leerzeichen oder 0, wird ein ‚ vorangestellt
<?php printf("%'.9d\n", 123); //......123 printf("%'.09d\n", 123); //000000123 ?>
- optionale Angabe der Ausrichtung: Standardmäßig linksbündig, ein — an dieser Stelle führt zu rechtsbündiger Ausrichtung.
- optionale Zahl für die Längenangabe: Mindestens zurückgegebene Anzahl an Zeichen
- optionale Genauigkeitsangabe: Punkt (.) gefolgt von einem optionalen Dezimalstring (Dezimalstellen, die für Fließkommazahlen ausgegeben werden sollen)
- Typangabe (s.o.)
Positionstausch
Ggf. passt die Reihenfolge der übergebenen args nicht zur gewünschten Reihenfolge im formatierten String. Daher kann eine abweichende Position angegeben werden. Eine etwaige Positionsangabe muss direkt nach dem %-Zeichen erfolgen.
Beispiel:
<?php $anzahl = 5; %verpackung = 'Tüte'; $format= 'Die %2$s enthält %1$04d Gummibären.'; printf($format, $anzahl, $verpackung); //Die Tüte enthält 0005 Gummibären. ?>
Die weiteren Möglichkeiten sind recht umfangreich. Infos im PHP Manual: php.net/manual/de/function.sprintf.php
Wir haben das nun am Beispiel von printf gemacht. Es gibt aber noch mehrere Funktionen, die den Parameter format verwenden.
Funktionsübersicht:
printf:
int printf ( string $format [, mixed $args [, mixed $... ]] )
Gibt den erzeugten String direkt aus, Rückgabewert ist die Länge des Strings.
sprintf:
string sprintf ( string $format [, mixed $args [, mixed $... ]] )
Gibt den erzeugten String als Rückgabewert zurück.
vprintf:
int vprintf ( string $format , array $args )
Gibt den erzeugten String direkt aus, Argument werden als Array (anstatt mehrere Werte) übergeben. Rückgabewert ist die Länge des Strings.
vsprintf:
string vsprintf ( string $format , array $args )
Gibt den erzeugten String als Rückgabewert zurück, Argument werden als Array (anstatt mehrere Werte) übergeben.
fprintf:
int fprintf ( resource $handle , string $format [, mixed $args [, mixed $... ]] )
Sendet den erzeugten String an eine Dateisystemressource (resource), s. fopen() etc.. Rückgabewert ist die Länge des Strings.
Kommentare sind geschlossen, aber Trackbacks und Pingbacks sind möglich.