W3docs

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): string

Die Funktion akzeptiert einen einzigen Pflichtparameter und gibt einen neuen String zurück — lcfirst() verändert die ursprüngliche Variable nicht direkt.

ParameterBeschreibung
$stringDer Eingabe-String, dessen erstes Zeichen in einen Kleinbuchstaben umgewandelt werden soll.

Rückgabewert: Der resultierende String mit dem ersten Zeichen in Kleinschreibung.

Grundlegendes Beispiel

php— editable, runs on the server

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 GetUserName in getUserName fü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
?>
userProfile

Verhalten 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)
?>
Élan

Fü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
?>
élan

Verwandte 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.

Übungen

Übung
Was macht die PHP-Funktion lcfirst()?
Was macht die PHP-Funktion lcfirst()?
Was this page helpful?