Введение
Функции, представленные этим расширением, позволяют проверить принадлежность символа или строки определенному классу символов, принимая во внимание текущие региональные установки (см. также функцию 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, так что любая путаница, связанная с этими названиями, вряд ли является ошибкой со стороны разработчиков расширения.