lcfirst()
Die PHP-Funktion lcfirst() wandelt das erste Zeichen eines Strings in einen Kleinbuchstaben um. Dieser Artikel erklärt Syntax, Rückgabewert und Anwendungsfälle.
Die PHP-Funktion lcfirst() macht das erste Zeichen eines Strings zu einem Kleinbuchstaben und gibt den geänderten String zurück. Nur das allererste Zeichen wird verändert — der Rest des Strings bleibt exakt so, wie er ist. Diese Seite behandelt die Syntax, den Rückgabewert, das Verhalten bei Nicht-Buchstaben und Unicode sowie die häufigen Situationen, in denen die Funktion nützlich ist.
Syntax
lcfirst(string $string): stringDie Funktion akzeptiert einen einzigen Pflichtparameter und gibt einen neuen String zurück — lcfirst() verändert die ursprüngliche Variable nicht direkt.
| Parameter | Beschreibung |
|---|---|
$string | Der Eingabe-String, dessen erstes Zeichen in einen Kleinbuchstaben umgewandelt werden soll. |
Rückgabewert: Der resultierende String mit dem ersten Zeichen in Kleinschreibung.
Grundlegendes Beispiel
Nur das führende H ändert sich; der Rest bleibt unverändert:
hello World!Wann verwende ich es?
lcfirst() ist klein, aber praktisch, wenn das erste Zeichen eine besondere Bedeutung hat:
- Generieren von camelCase-Bezeichnern. Wandelt
GetUserNameingetUserNamefür Methoden- oder Eigenschaftsnamen um. - Normalisieren von Benutzereingaben, die möglicherweise großgeschrieben ankommen, aber kleingeschrieben gespeichert werden sollen.
- Satz- und Listenformatierung, bei der das erste Wort eines Fragments nicht mit einem Großbuchstaben beginnen soll.
<?php
// PascalCase -> camelCase
echo lcfirst("UserProfile"); // userProfile
?>userProfileVerhalten bei Nicht-Buchstaben und bereits kleingeschriebenen Eingaben
Wenn das erste Zeichen kein Großbuchstabe ist — also eine Ziffer, ein Symbol, ein Leerzeichen oder ein bereits kleingeschriebener Buchstabe — gibt lcfirst() den String unverändert zurück.
<?php
echo lcfirst("Hello"), "\n"; // hello
echo lcfirst("123ABC"), "\n"; // 123ABC (first char is a digit)
echo lcfirst(" Hello"), "\n"; // " Hello" (leading space is unchanged)
echo lcfirst(""), "\n"; // "" (empty string)
?>hello
123ABC
Hello
Vorsicht: lcfirst() arbeitet bytebasiert, nicht Unicode-fähig
lcfirst() verarbeitet nur einzel-byte ASCII-Buchstaben. Multibyte-Zeichen wie akzentuierte oder nicht-lateinische Buchstaben werden nicht korrekt in Kleinbuchstaben umgewandelt, da die Funktion auf dem ersten Byte und nicht auf dem ersten Zeichen operiert.
<?php
echo lcfirst("Élan"); // stays "Élan" (É is multibyte)
?>ÉlanFür Multibyte-Strings können Sie das erste Zeichen manuell mit mb_strtolower() und mb_substr() in Kleinschreibung umwandeln:
<?php
$str = "Élan";
$first = mb_strtolower(mb_substr($str, 0, 1), "UTF-8");
echo $first . mb_substr($str, 1); // élan
?>élanVerwandte Funktionen
ucfirst()— das Gegenteil: macht das erste Zeichen zu einem Großbuchstaben.ucwords()— macht den ersten Buchstaben jedes Wortes zu einem Großbuchstaben.strtolower()— wandelt den gesamten String in Kleinbuchstaben um.strtoupper()— wandelt den gesamten String in Großbuchstaben um.