Signatur
Beschreibung
ctype_lower() überprüft, ob jedes Zeichen im übergebenen String ein Kleinbuchstabe des ASCII-Zeichensatzes (a–z) ist. Die Funktion gibt true zurück, wenn alle Zeichen Kleinbuchstaben sind, andernfalls false. Leerzeichen, Ziffern, Sonderzeichen oder Großbuchstaben führen zu false.
Die Funktion ist besonders nützlich bei der Eingabevalidierung, etwa wenn sichergestellt werden soll, dass ein Benutzername oder ein Slug ausschließlich aus Kleinbuchstaben besteht. Im Vergleich zu regulären Ausdrücken ist ctype_lower() deutlich schneller und benötigt keine zusätzlichen Bibliotheken.
Wichtig: Die Funktion berücksichtigt keine Umlaute oder andere Nicht-ASCII-Kleinbuchstaben (z. B. ä, ö, ü, é). Diese gelten nicht als Kleinbuchstaben im Sinne dieser Funktion. Außerdem gibt ein leerer String ('') seit PHP 8.1 false zurück (zuvor war das Verhalten inkonsistent).
Wenn eine Ganzzahl übergeben wird, wird diese ab PHP 8.1 nicht mehr als ASCII-Zeichencode interpretiert – stattdessen wird false zurückgegeben. In älteren PHP-Versionen wurde eine Integer-Eingabe als ASCII-Code behandelt.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $text Pflicht | mixed | Der zu prüfende Wert. In der Regel ein string. Integer-Werte werden seit PHP 8.1 nicht mehr als ASCII-Code interpretiert und liefern stets false. |
Rückgabewert
true zurück, wenn alle Zeichen des Strings Kleinbuchstaben (a–z) sind und der String nicht leer ist. Andernfalls wird false zurückgegeben.Beispiele
Einfache Prüfung auf Kleinbuchstaben
<?php
$woerter = ['hallo', 'Hallo', 'hallo welt', 'hallo123', 'abcxyz'];
foreach ($woerter as $wort) {
if (ctype_lower($wort)) {
echo "'$wort' besteht nur aus Kleinbuchstaben.\n";
} else {
echo "'$wort' enthält keine reinen Kleinbuchstaben.\n";
}
}
Validierung eines URL-Slugs
<?php
function istGueltigerSlug(string $slug): bool {
// Ein einfacher Slug darf nur Kleinbuchstaben und Bindestriche enthalten
$teile = explode('-', $slug);
foreach ($teile as $teil) {
if (!ctype_lower($teil)) {
return false;
}
}
return true;
}
$slugs = ['mein-artikel', 'Mein-Artikel', 'mein-artikel-2024', 'kleiner-slug'];
foreach ($slugs as $slug) {
$gueltig = istGueltigerSlug($slug) ? 'gültig' : 'ungültig';
echo "Slug '$slug': $gueltig\n";
}
// Wichtig · Fallstricke
Achtung bei Umlauten und Sonderzeichen: ctype_lower() arbeitet ausschließlich auf Basis des ASCII-Zeichensatzes. Deutsche Kleinbuchstaben wie ä, ö, ü oder ß werden nicht als Kleinbuchstaben erkannt. Für solche Anwendungsfälle sollte stattdessen mb_strtolower() in Kombination mit einem Vergleich oder ein regulärer Ausdruck mit dem u-Flag verwendet werden.
Leerer String: Ein leerer String '' gibt seit PHP 8.1 zuverlässig false zurück. In früheren Versionen war dieses Verhalten inkonsistent.
Integer-Übergabe: Vor PHP 8.1 wurde ein Integer-Wert als ASCII-Zeichencode interpretiert. Dieses Verhalten ist seit PHP 8.1 entfernt worden – Integer liefern jetzt immer false.