In PHP wird die Sprintf -Funktion verwendet, um die Stringausgabe zu formatieren, die uns helfen kann, formatierte Tabellen zu erstellen. In diesem Artikel wird angezeigt, wie Sie ein einfaches Tabellenausgangstool mithilfe der Sprintf -Funktion implementieren.
Die Sprintf -Funktion gibt eine formatierte Zeichenfolge in eine Variable aus. Die grundlegende Nutzung ist wie folgt:
sprintf(format, args...)
Das Format ist eine Formatzeichenfolge, die die Struktur des Ausgabehalts definiert.
args ... ist der Parameter, der dem Platzhalter in der Formatzeichenfolge entspricht.
Häufige Formatierungssymbole umfassen %s (String), %d (integral), %f (schwimmende Zahl) usw.
Angenommen, wir müssen ein einfaches Formular ausgeben, in dem der Name und die E -Mail -Adresse des Benutzers angezeigt werden. Wir können jede Datenreihe über Sprintf formatieren und diese Zeilen dann in eine vollständige Tabelle spleißen.
Wir möchten, dass der Tisch so aussieht:
Name | Post |
---|---|
Alice | [email protected] |
Bob | [email protected] |
Zuerst definieren wir den Spaltentitel und die Daten der Tabelle und formatieren dann die Ausgabe mit Sprintf .
<?php
// Kopfball
$header = sprintf("| %-10s | %-20s |\n", "Name", "Post");
// Tabellarische Daten
$data = [
["Alice", "[email protected]"],
["Bob", "[email protected]"]
];
// Ausgangstabelle Header
echo $header;
echo str_repeat("-", strlen($header) - 1) . "\n"; // Ausgabeteiler
// 输出Tabellarische Daten
foreach ($data as $row) {
echo sprintf("| %-10s | %-20s |\n", $row[0], $row[1]);
}
?>
Sprintf ("| %-10s | %-20s | \ n", "Name", "E-Mail"); erzeugt den Tischkopf. %-10S bedeutet eine linke Ausrichtung mit einer Breite von 10 Zeichen; %-20s bedeutet eine linke Ausrichtung mit einer Breite von 20 Zeichen.
Str_repeat (" -", Strlen ($ Header) - 1) wird verwendet, um Trennwände mit der gleichen Länge wie die Breite des Tischkopfs zu erzeugen.
Dann durch das Datenarray durch die Foreach -Schleife durchzusetzen und die Ausgabe jeder Zeile mit Sprintf zu formatieren.
Nach der Ausführung des obigen Codes lautet das Ausgabeergebnis wie folgt:
| Name | Post |
--------------------------------------
| Alice | [email protected] |
| Bob | [email protected] |
Sie können das Format nach Bedarf einstellen, z. B. das Ändern der Spaltenbreite, die Ausrichtung oder das Hinzufügen weiterer Spalten. Ändern Sie einfach den relevanten Teil basierend auf der Formatzeichenfolge von Sprintf .
Wenn Sie beispielsweise recht ausgerichtet sein möchten, können Sie %10s verwenden (die Breite und die rechtsgeräte Rechten angeben):
echo sprintf("| %10s | %20s |\n", "Alice", "[email protected]");
Mit der Sprintf -Funktion können wir tabellarische Daten problemlos formatieren und ausgeben. Obwohl Sprintf selbst die Funktion von Tabellen nicht direkt unterstützt, können wir durch die Formatierungssteuerung ein einfaches Tischausgabe -Tool problemlos implementieren.