Heim  >  Artikel  >  Backend-Entwicklung  >  Erfahren Sie, wie Sie mit der PHP-Funktion sprintf() eine formatierte Ausgabe erzielen

Erfahren Sie, wie Sie mit der PHP-Funktion sprintf() eine formatierte Ausgabe erzielen

王林
王林Original
2023-06-27 08:12:122017Durchsuche

Bei der PHP-Entwicklung ist die Standardisierung und Formatierung von Ausgabeinhalten sehr wichtig, insbesondere wenn es um Datentypen wie Menge, Zeit usw. geht. PHP bietet viele Funktionen, um diese formatierten Ausgaben einfach zu erreichen, darunter die Funktion sprintf(). Die Funktion

sprintf() ist eine formatierte Ausgabefunktion. Sie kann die folgenden Parameter gemäß der angegebenen Formatzeichenfolge formatieren und ausgeben. Seine Syntax lautet wie folgt:

sprintf(format,arg1,arg2,......)

Format ist dabei eine Formatzeichenfolge, die einen oder mehrere Formatspezifizierer enthalten kann. arg1, arg2 usw. sind Parameter, die formatiert werden müssen.

Der Formatbezeichner beginnt mit dem %-Zeichen, gefolgt von einem Zeichen zur Angabe des Parametertyps. Gängige Formatspezifizierer sind wie folgt:

  • %s-String-Typ
  • %d-Integer-Typ
  • %f-Gleitkomma-Typ
  • %c-Zeichentyp
  • %b-Binärtyp
  • %o-Oktal-Typ
  • %x Hexadezimal Typ
  • %e Wissenschaftlicher Notationstyp

Zum Beispiel verwenden wir die Funktion sprintf(), um eine Zeichenfolge auszugeben, die Name und Alter enthält, wobei der Name vom Typ „String“ und das Alter vom Typ „Ganzzahl“ ist. Sie können den Code wie folgt schreiben:

$name = "Tom";
$age = 18;
echo sprintf("我的名字是%s,年龄是%d岁。",$name,$age);

Die laufenden Ergebnisse lauten wie folgt:

我的名字是Tom,年龄是18岁。

Sie können sehen, dass die Funktion sprintf() die Parameter gemäß der angegebenen Formatzeichenfolge formatiert und ausgibt und den Platzhalter automatisch ersetzt Formatbezeichner.

Neben allgemeinen Formatspezifizierern unterstützt die Funktion sprintf() auch einige spezielle Tags und Qualifizierer, mit denen sich das Ausgabeformat genau steuern lässt. Sie können beispielsweise einen Dezimalpunkt gefolgt von einer Zahl verwenden, um die Anzahl der Dezimalstellen in einer Gleitkommazahl anzugeben, ein Pluszeichen (+), um das Vorzeichen einer positiven oder negativen Zahl anzugeben, Nullen, um Lücken zu füllen usw .

Im Folgenden sind einige häufig verwendete Sonderzeichen und Qualifikationsmerkmale aufgeführt:

  • Dem Dezimalpunkt folgt eine Zahl, z. B. %.2f, was angibt, dass zwei Dezimalstellen beibehalten werden.
  • Das Pluszeichen (+), z. B. % +d gibt an, dass sowohl positive als auch negative Zahlen angezeigt werden. Symbol
  • Minuszeichen (-), z. B. %-10, bedeutet Linksausrichtung und Auffüllen von Leerzeichen rechts vom Platzhalter mit einer Gesamtbreite von 10 Zeichen
  • Null (0), z. B. %04d, bedeutet links vom Platzhalter, seitlich mit Nullen aufgefüllt, die Gesamtbreite beträgt 4 Zeichen.
  • Nummernzeichen (#), z. B. %#o, zeigt an, dass dem ausgegebenen Oktal eine 0 vorangestellt ist
  • Leerzeichen (), wie z. B. %d, zeigt an, dass positive Zahlen Leerzeichen und negative Zahlen Vorzeichen anzeigen

Das Folgende ist ein praktisches Beispiel, um zu demonstrieren, wie die Funktion sprintf() zum Formatieren der Ausgabe verwendet wird. Angenommen, wir haben eine Bestellinformationstabelle, die Felder wie Bestellnummer, Bestelldatum, Bestellbetrag usw. enthält. Wir möchten die Bestellinformationen in Form einer Tabelle auf der Seite ausgeben.

Definieren Sie zunächst ein zweidimensionales Array $orders, um die Bestellinformationsliste zu simulieren:

$orders = [
    ["order_no" => "20190813001", "order_date" => "2019-08-13", "order_amount" => 289.5],
    ["order_no" => "20190813002", "order_date" => "2019-08-13", "order_amount" => 1032],
    ["order_no" => "20190813003", "order_date" => "2019-08-13", "order_amount" => 760.85],
    ["order_no" => "20190814001", "order_date" => "2019-08-14", "order_amount" => 948.5],
    ["order_no" => "20190814002", "order_date" => "2019-08-14", "order_amount" => 213.75],
    ["order_no" => "20190814003", "order_date" => "2019-08-14", "order_amount" => 657.9],
    ["order_no" => "20190815001", "order_date" => "2019-08-15", "order_amount" => 1368.25],
    ["order_no" => "20190815002", "order_date" => "2019-08-15", "order_amount" => 768.5],
    ["order_no" => "20190815003", "order_date" => "2019-08-15", "order_amount" => 840.8]
];

Dann schreiben Sie den folgenden Code und verwenden Sie die Funktion sprintf(), um die Bestellinformationen auszugeben:

echo "<table border='1'>";
echo "<tr><th>订单号</th><th>订单日期</th><th>订单金额</th></tr>";
foreach($orders as $order){
    echo "<tr>";
    echo sprintf("<td>%s</td><td>%s</td><td>¥%.2f元</td>",$order["order_no"],$order["order_date"],$order["order_amount"]);
    echo "</tr>";
}
echo "</table>";

Die laufenden Ergebnisse lauten wie folgt:

订单号    订单日期    订单金额
20190813001    2019-08-13    ¥289.50元
20190813002    2019-08-13    ¥1032.00元
20190813003    2019-08-13    ¥760.85元
20190814001    2019-08-14    ¥948.50元
20190814002    2019-08-14    ¥213.75元
20190814003    2019-08-14    ¥657.90元
20190815001    2019-08-15    ¥1368.25元
20190815002    2019-08-15    ¥768.50元
20190815003    2019-08-15    ¥840.80元

Wie Sie sehen können, kann die Verwendung der Funktion sprintf() zum Formatieren der Ausgabe den Ausgabeinhalt standardisierter und schöner machen und eine präzisere Steuerung des Ausgabeinhalts ermöglichen. In der tatsächlichen Entwicklung können wir die Funktion sprintf() flexibel verwenden, um verschiedene komplexe Ausgabeanforderungen zu erfüllen und die Entwicklungseffizienz und Programmlesbarkeit zu verbessern.

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie mit der PHP-Funktion sprintf() eine formatierte Ausgabe erzielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn