Функции, представленные этим расширением, позволяют проверить принадлежность символа или строки определенному классу символов, принимая во внимание текущие региональные установки (см. также функцию setlocale()).
Будучи вызванными с целочисленным аргументом, эти функции полностью аналогичны своим эквивалентам в языке C (из ctype.h). Это означает, что если вы передаёте целое значение менее 256, функции проверяют соответствует ли это значение ASCII указанному классу символов (цифры находятся в диапазоне 0x30-0x39). Если число находится в пределах от -128 до -1 включительно, то к его значению будет прибавлено 256 и сравнение будет проводиться с использованием результата сложения.
Если аргументом выступает строка, то функции будут проверять каждый символ
в этой строке и вернут TRUE
только если каждый символ удовлетворяет
требуемому условию. При вызове с пустой строкой в качестве аргумента, функции
всегда возвращают TRUE
в PHP < 5.1 и FALSE
после 5.1.
При передаче данных других типов (кроме целого или строки) функции
сразу же возвращают FALSE
.
Следует обратить внимание на то, что данные функции работают значительно быстрее, чем регулярные выражения и даже эквивалентиные "str_*" и "is_*" функции. Это происходит потому, что ctype использует родную библиотеку C и поэтому выполняется значительно быстрее.
Замечание:
Эти функции не имеют никакого отношения к Python-библиотеке "ctypes". Название расширения является сокращением имени заголовочного файла C ctype.h, который содержит C-эквиваленты данных функций.
Данное расширение также было создано раньше Python "ctypes", так что любая путаница, связанная с этими названиями, вряд ли является ошибкой со стороны разработчиков расширения.