Aktueller Standort: Startseite> Neueste Artikel> So formatieren Sie Strings und Zahlen mit Sprintf

So formatieren Sie Strings und Zahlen mit Sprintf

gitbox 2025-04-28

Bei der täglichen PHP -Programmierung müssen wir häufig Strings oder Zahlen in einem bestimmten Format ausgeben. Zu diesem Zeitpunkt ist die Sprintf () -Funktion Ihr guter Helfer. Es macht die Ausgabe nicht nur steuerbarer, sondern auch den Code ordentlicher und lesbarer. In diesem Artikel werden Sie systematisch die Verwendungsmethoden und -techniken von Sprintf () beherrschen.

1. Was ist Sprintf ()?

Sprintf () ist eine integrierte Funktion in PHP, die formatierte Zeichenfolgen als Ergebnisse zurückgibt ( keine direkte Ausgabe ). Dies ist ähnlich wie printf () , aber printf () ist die direkte Ausgabe, während Sprintf () das Ergebnis ist, das Sie nach der Rückgabe frei verarbeiten können.

Der Funktionsprototyp lautet wie folgt:

 string sprintf(string $format, mixed ...$values)
  • $ Format : Formatvorlage Zeichenfolge.

  • $ Werte : Ein oder mehrere Werte, die in der Formatvorlage eingefügt werden müssen.

2. Grundlegende Verwendung von Sprintf ()

Beispiel 1: Formatzeichenfolge

 $name = 'Xiao Ming';
$city = 'Peking';
$message = sprintf("Hallo,Ich bin%s,Ich komme aus%s。", $name, $city);
echo $message;

Ausgangsergebnis:

 Hallo,Ich binXiao Ming,Ich komme ausPeking。

Beispiel 2: Formatnummern

 $price = 49.5;
$message = sprintf("Der Preis des Produkts ist %.2f Yuan", $price);
echo $message;

Ausgangsergebnis:

 Der Preis des Produkts ist 49.50 Yuan

veranschaulichen:

  • %.2F bedeutet eine schwimmende Punktzahl, die zwei Dezimalstellen behält.

3.. Gemeinsame Formatkontrollzeichen

Formatzeichen Bedeutung Beispiel
%S Saite Sprintf ("Hallo %S", "Tom")
%D Ganzzahl (dezimal) Sprintf ("Alter ist %d", 25)
%F Schwimmende Punktzahl Sprintf ("Score ist %.1f", 98,6)
%X hexadezimal Sprintf ("Zahl ist %x", 255)
%02d Ganzzahlen mit weniger als zwei Ziffern von Null Sprintf ("Anzahl ist %02d", 5) => Zahl ist 05

4. Praktisches Beispiel: Generieren Sie Links mit Parametern

Angenommen, Sie müssen einen Link zur Produktdetail -Seite mit Parametern einschließlich der Produkt -ID und dem Namen generieren:

 $productId = 123;
$productName = 'Bluetooth -Kopfhörer';
$url = sprintf("https://gitbox.net/product/view.php?id=%d&name=%s", $productId, urlencode($productName));
echo $url;

Ausgangsergebnis:

 https://gitbox.net/product/view.php?id=123&name=%E8%93%9D%E7%89%99%E8%80%B3%E6%9C%BA

5. Fortgeschrittene Nutzungstechniken von Sprintf ()

1. Mehrfachverwendungsparameter wiederverwenden

Sie können einen Parameter in der Formatzeichenfolge unter Verwendung der Nummerierung wiederholen:

 $name = 'Zhang San';
$message = sprintf("%1\$s,Hallo!%1\$s,Bitte überprüfen Sie die E -Mail。", $name);
echo $message;

Ausgangsergebnis:

 Zhang San,Hallo!Zhang San,Bitte überprüfen Sie die E -Mail。

Beschreibung: %1 \ $ S bedeutet, dass der erste Parameter verwendet wird.

2. Richten Sie den Ausgang aus (geeignet zum Erzeugen von Tabellen).

 $line = sprintf("| %-10s | %10s |", "Waren", "Preis");
echo $line;

Ausgangsergebnis:

 | Waren        |       Preis |

veranschaulichen:

  • %-10s : links ausgerichtet, 10 Zeichen breit;

  • %10s : Richtig ausgerichtet, 10 Zeichen breit.

6. Sprintf und Sicherheit

Obwohl die Verwendung von Sprintf () flexibel ist, sollten Sie bei der Ausgabe auf Webseiten, Datenbanken und Dateien auf die Sicherheit achten:

  • Denken Sie bei der Ausgabe an eine Webseite daran, HTMLSpecialChars () zu verwenden.

  • Vermeiden Sie beim Erstellen von SQL Sprintf () direkt. Es wird empfohlen, die Parameterbindung (z. B. Vorverarbeitungsanweisungen für PDO oder MySQLI) zu verwenden.

  • Die Parameter in der URL werden empfohlen, mit Urlencode () codiert zu werden.

7. Zusammenfassung

Sprintf () ist ein leistungsstarkes und elegantes Formatierungswerkzeug. Solange Sie die grundlegenden Syntax- und Formatsteuerzeichen beherrschen, können Sie Flügel zur String -Verarbeitung hinzufügen. Unabhängig davon, ob es sich um eine Seitenanzeige, Protokollierung oder das Generieren strukturierter Daten handelt, kann es Ihnen helfen, klarere und wartbare Code zu schreiben.

Wenden Sie es auf Ihr Projekt an!