Einführung

Die Funktionen dieser Extension überprüfen, ob ein Zeichen oder eine Zeichenkette in eine bestimmte Zeichenklasse fällt, unter Berücksichtigung der momentanen locale-Einstellung (Siehe auch setlocale()).

Beim Aufruf mit einem Integer-Parameter verhalten sich diese Funktionen exakt wie ihre C-Gegenstücke aus ctype.h. Das bedeutet, wenn ein Integer übergeben wird, der kleiner ist als 256, wird dessen Ascii-Wert verwendet, um zu prüfen, ob er in den angegebenen Bereich fällt (Zahlen liegen im Bereich 0x30-0x39). Liegt die Zahl zwischen -128 und -1 (einschließlich der Grenzen), wird 256 addiert und eine Überprüfung dieser Zahl durchgeführt.

Warnung

Seit PHP 8.1.0 ist die Übergabe eines Nicht-String-Arguments veraltet. In Zukunft wird das Argument statt als ASCII-Codepunkt als String interpretiert werden. Je nach beabsichtigtem Verhalten sollte das Argument entweder in String umgewandelt werden, oder es sollte ein expliziter Aufruf von chr() erfolgen.

Beim Aufruf mit einem String-Argument überprüfen sie jedes einzelne Zeichen und geben nur true zurück, wenn jedes einzelne Zeichen die angeforderten entsprechenden Kriterien erfüllt. Bei einem Aufruf mit einer leeren Zeichenkette wird immer false zurückgegeben.

Sobald irgendetwas anderes als ein String oder Integer als Argument übergeben wird, wird sofort false zurückgegeben.

Die ctype Funktionen sind grundsätzlich performanter als die entsprechenden regular Expressions und oft auch schneller als die equivalenten str_* und is_* Funktionen da sie direkt in C geschrieben und optimiert sind.

Hinweis:

Diese Funktionen sind in keiner Weise mit der Python "ctypes" Bibliothek verwandt. Der Name der Erweiterung stammt von der ctype.h C Header-Datei an, in der ihre Equivalente definiert sind.

Diese Erweiterung ist auch älter als Python "ctypes", so dass jegliche Verwirrung, die durch diese Namensgebung verursacht wird, kaum PHPs Fehler ist.

add a note add a note

User Contributed Notes 1 note

up
-4
flashinno at gmail dot com
9 years ago
pcre from the ver. 5.3 is a part of core PHP, any function exported from .so can't work wih faster than core function
To Top