此扩展提供的函数根据当前区域设置(另请参阅 setlocale())检查字符或字符串是否属于某个特定字符类别。
当使用整数参数调用时,这些函数的行为与来自 ctype.h 的 C 对应函数完全相同。这意味着如果传递小于 256 的整数,它将使用其 ASCII 值来查看它是否适合指定的范围(数字在 0x30-0x39 之间)。如果数字在 -128 到 -1(包括)之间,则将添加 256,并在该值上进行检查。
当使用字符串参数调用时,它们将检查字符串中的每个字符,并且只有当字符串中的每个字符都匹配所请求的标准时,才会返回 true
。当使用空字符串调用时,结果将始终为 false
。
传递除字符串或整数以外的任何内容都将立即返回 false
。
应该注意的是,ctype 函数始终优先于正则表达式,甚至优先于一些等效的 "str_*"
和 "is_*"
函数。这是因为 ctype 使用本机 C 库,因此处理速度明显更快。
注意:
这些函数与 Python 的 "ctypes" 库完全无关。扩展名称来自 ctype.h C 头文件,其中定义了它们的 C 等效项。
此扩展也早于 Python 的 "ctypes",因此这种命名造成的任何混乱几乎不是 PHP 的错。