CakeFest 2024: The Official CakePHP Conference

Введение

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

Будучи вызванными с целочисленным аргументом, эти функции ведут себя точно так же, как их C-эквиваленты в языке C (из ctype.h). Это означает, что если передаётся целое значение менее 256, функции проверяют, соответствует ли это значение ASCII указанному классу символов (цифры находятся в диапазоне 0x30-0x39). Если число находится в пределах от -128 до -1 включительно, то к его значению будет прибавлено 256 и сравнение будет проводиться с использованием результата сложения.

Внимание

Начиная с PHP 8.1.0 передача нестроковых аргументов устарела. В будущем аргумент вместо ASCII-кода будет интерпретироваться как строка. В зависимости от предполагаемого поведения аргумент либо преобразовывают в строку (string), либо вызывают функцию chr().

Если аргументом выступает строка, то функции будут проверять каждый символ в этой строке и вернут true только если каждый символ удовлетворяет требуемому условию. При вызове с пустой строкой результатом всегда будет false.

При передаче данных других типов (кроме целого или строки) функции сразу же возвращают false.

Следует отметить, что данные функции всегда предпочтительнее, чем использование регулярных выражений и даже некоторых эквивалентных функций "str_*" и "is_*". Это связано с тем, что ctype использует родную библиотеку C, и, следовательно, работают значительно быстрее.

Замечание:

Эти функции не имеют никакого отношения к Python-библиотеке "ctypes". Название модуля является сокращением имени заголовочного файла C ctype.h, в котором определены эквиваленты из C.

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top