PHP Velho Oeste 2024

Введение

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