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