Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Sprintf und str_pad (), um das Ausgangsformat perfekt zu steuern

Verwenden Sie Sprintf und str_pad (), um das Ausgangsformat perfekt zu steuern

gitbox 2025-05-02

Bei der täglichen PHP-Programmierung müssen wir häufig überfüllte Daten wie Tabellenformlisten, Protokollierungsformate, Befehlszeilenausgänge usw. ausgeben. Wenn Sie noch Echo verwenden, um Räume oder Registerkarten manuell zu spleißen, um die Ausrichtung zu erreichen, ist es Zeit, Sprintf () und Str_pad () zu helfen, diese Dinge leicht zu behandeln.

1. Sprintf (): Ein Werkzeug zum Formatieren der Ausgabe

Sprintf () ist eine Funktion in PHP, die zum Format von Zeichenfolgen verwendet wird. Es ermöglicht es uns, Variablen gemäß der Formatvorlage auszugeben, die sehr geeignet ist, die Ausrichtung von Zahlen und Zeichenfolgen zu steuern.

Beispiel 1: Format numerische Ausgabe

 $price = 19.9;
$formatted = sprintf("Preis:%.2f Yuan", $price);
echo $formatted; // Ausgabe:Preis:19.90 Yuan

Sprintf () ist sehr geeignet für die Verwendung in Ausstellungsszenarien. Wenn Sie beispielsweise einen Datensatz ausgeben, können wir für jede Spalte eine feste Breite festlegen:

 $data = [
    ['Name', 'Menge', 'Preis'],
    ['Apfel', 10, 2.5],
    ['Banane', 5, 1.3],
    ['orange', 20, 3.75],
];

foreach ($data as $row) {
    printf("%-10s %-6d %6.2f Yuan\n", $row[0], $row[1], $row[2]);
}

Die Ausgangsergebnisse sind einheitlich und können in ausgerichteter Weise angezeigt werden, egal wie groß die Anzahl oder wie viele Dezimalstellen sind.

2. Str_pad (): Einfach die Charakterfüllung implementieren

Obwohl Sprintf () leistungsstark ist, müssen wir in einigen Fällen nur die links und rechts die Saite ausrichten und füllen, und Str_pad () ist nützlich.

str_pad () Funktionssignatur:

 str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT): string
  • $ String : Original String

  • $ Länge : Gesamtlänge nach dem Füllen

  • $ pad_string : Zeichen, die für die Polsterung verwendet werden

  • $ pad_type : Füllen Sie die Richtung, optional str_pad_right , str_pad_left oder str_pad_both

Beispiel 2: Erstellen Sie eine Menüliste von Zeichenausrichtungen

 $menu = [
    ['Einloggen', 'https://gitbox.net/login'],
    ['registrieren', 'https://gitbox.net/signup'],
    ['Hilfezentrum', 'https://gitbox.net/help'],
];

foreach ($menu as $item) {
    $name = str_pad($item[0], 20, ' ', STR_PAD_RIGHT);
    echo $name . ' => ' . $item[1] . PHP_EOL;
}

Ausgabe:

 Einloggen                 => https://gitbox.net/login
registrieren                 => https://gitbox.net/signup
Hilfezentrum             => https://gitbox.net/help

Der Ausrichtungseffekt ist auf einen Blick klar!

3. Kombination von Sprintf () und str_pad ()

Natürlich können die beiden Funktionen auch in Kombination verwendet werden, geeignet für komplexere Anforderungen an die Art und Weise. Zum Beispiel können wir Sprintf () verwenden, um die Formatgenauigkeit zu verarbeiten und dann die Spaltenbreite durch str_pad () auszufüllen:

 $items = [
    ['ID' => 1, 'Name' => 'Apfel', 'Preis' => 2.5],
    ['ID' => 2, 'Name' => 'Banane', 'Preis' => 1.3],
    ['ID' => 3, 'Name' => 'orange', 'Preis' => 3.75],
];

foreach ($items as $item) {
    $id = str_pad($item['ID'], 4, ' ', STR_PAD_RIGHT);
    $name = str_pad($item['Name'], 10, ' ', STR_PAD_RIGHT);
    $price = str_pad(sprintf("%.2f", $item['Preis']), 6, ' ', STR_PAD_LEFT);
    echo "{$id}{$name}{$price} Yuan\n";
}

Ausgabe:

 1   Apfel       2.50 Yuan
2   Banane       1.30 Yuan
3   orange       3.75 Yuan

Zusammenfassen

In Bezug auf die Formatkontrolle haben Sprintf () und str_pad () jeweils ihre eigenen Stärken:

  • Sprintf () eignet sich zum Formatieren von Zahlen, Daten, Zeichenfolgen usw. und verfügt über eine leistungsstarke Unterstützung für Formatvorlagen.

  • str_pad () eignet sich zum Füllen der Breite und zum Zentrieren der Saiten links und rechts.

  • Die Kombination der beiden kann das Ausgangslayout flexibler und leistungsfähiger machen.

Durch das Beherrschen dieser beiden Funktionen können Sie problemlos eine schöne und ordentliche Schnittstelle für die Textausgabe erstellen, unabhängig davon, ob es sich um Befehlszeilen -Tools, Protokolldrucke oder Debugging -Ausgaben von Hintergrundverwaltungsseiten handelt. Lassen Sie Ihr PHP -Programm professioneller aussehen, beginnend mit Output!