Введение

Функции, представленные этим расширением, позволяют проверить принадлежность символа или строки определенному классу символов, принимая во внимание текущие региональные установки (см. также функцию setlocale()).

Будучи вызванными с целочисленным аргументом, эти функции ведут себя точно так же, как их C-эквиваленты в языке 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.

Данное расширение также было создано раньше "ctypes" в Python, так что любая путаница, связанная с этими названиями, вряд ли является ошибкой со стороны разработчиков расширения.