W3docs

strtoupper()

Die Funktion strtoupper() in PHP wandelt alle Kleinbuchstaben eines Strings in Großbuchstaben um. Nützlich für Vergleiche und Normalisierung.

Einführung

strtoupper() wandelt jeden Kleinbuchstaben in einem String in einen Großbuchstaben um und gibt das Ergebnis zurück. Der ursprüngliche String bleibt unverändert — wie alle PHP-String-Funktionen gibt strtoupper() einen neuen String zurück, anstatt das Argument direkt zu verändern.

Man verwendet sie immer dann, wenn man eine Ausgabe oder einen Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung benötigt: zum Normalisieren von Ländercodes (usUS), zum Hervorheben einer Überschrift oder zum Vergleichen zweier Strings unabhängig von der Schreibweise. Diese Seite behandelt die Syntax, den wichtigen Multibyte-Vorbehalt und die verwandten Funktionen, die häufig zusammen eingesetzt werden.

Syntax

strtoupper(string $string): string
TeilBeschreibung
$stringDer Eingabe-String. Erforderlich.
RückgabeEine Kopie von $string, bei der jeder ASCII-Kleinbuchstabe (az) in einen Großbuchstaben umgewandelt wurde. Nicht-Buchstaben-Zeichen werden unverändert zurückgegeben.

Ein einfaches Beispiel

php— editable, runs on the server

Ziffern, Leerzeichen und Satzzeichen (!) werden unverändert weitergegeben — nur die Buchstaben werden in Großbuchstaben umgewandelt. Beachten Sie, dass $string weiterhin "Hello World!" enthält; der konvertierte Text liegt in $uppercase.

Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung

Ein häufiger Anwendungsfall ist der Vergleich von Benutzereingaben, ohne auf die Schreibweise achten zu müssen. Beide Seiten in Großbuchstaben umwandeln und dann vergleichen:

<?php

$input = "Yes";

if (strtoupper($input) === "YES") {
    echo "Confirmed";
} else {
    echo "Not confirmed";
}
// Confirmed

Deshalb erscheinen strtoupper() und sein Gegenstück strtolower() so häufig in Formularverarbeitungs- und Routing-Code.

Der Multibyte-Vorbehalt

strtoupper() arbeitet bytebasiert und ist sich der Locale nicht bewusst für alles außerhalb von reinem ASCII. Es kennt nur die Umwandlung von az. Akzentuierte und nicht-lateinische Buchstaben bleiben unverändert:

<?php

echo strtoupper("café"); // CAFé  — the é is not converted

Für Unicode-Text (UTF-8-Strings mit Akzenten, ñ, Kyrillisch, Griechisch usw.) verwenden Sie mb_strtoupper(), das Zeichenkodierungen versteht:

<?php

echo mb_strtoupper("café", "UTF-8"); // CAFÉ

Faustregel: Nur-ASCII-Daten (Codes, Slugs, rein englische Labels) → strtoupper(). Alles, das internationale Zeichen enthalten könnte → mb_strtoupper().

Verwandte Funktionen

  • strtolower() — das Gegenteil: wandelt Großbuchstaben in Kleinbuchstaben um.
  • ucfirst() — schreibt nur das erste Zeichen eines Strings groß.
  • ucwords() — schreibt das erste Zeichen jedes Wortes groß.

Zusammenfassung

strtoupper() gibt eine neue, vollständig in Großbuchstaben geschriebene Kopie eines ASCII-Strings zurück und ist praktisch zum Normalisieren von Daten und für Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung. Für Text, der möglicherweise Nicht-ASCII-Zeichen enthält, sollte mb_strtoupper() bevorzugt werden, damit akzentuierte und nicht-lateinische Buchstaben korrekt umgewandelt werden.

Übungen

Übung
Was macht die PHP-Funktion strtoupper?
Was macht die PHP-Funktion strtoupper?
Was this page helpful?