Las funciones proporcionadas con esta extensión coomprueban si un carácter o cadena cae dentro de cierta clase de caracteres según la configuración regional actual (véase también setlocale()).
Cuando estas funciones se llaman con un argumento de tipo integer se comportan exactamente como sus equivalentes de C de ctype.h. Significa que si se pasa un valor de tipo integer menor que 256 se usará el valor ASCII de él para ver si encaja en el rango especificado (los dígitos están en 0x30-0x39). Si el número está entre -128 y -1 inclusive, se añadirá 256 y la comprobación se hará sobre el resultado.
Cuando se llaman con un argumento de tipo string comprobarán cada carácter de la cadena y sólo devolverá TRUE si cada carácter de la cadena coincide con el criterio solicitado. Cuando se llaman con una cadena vacía el resultado será siempre TRUE en PHP < 5.1 y FALSE desde 5.1.
Pasar cualquier cosa que no sea un valor de tipo string o integer devolverá inmediatamente FALSE.
Se debería observar que las funciones ctype se prefieren siempre a las expresiones regulares, e incluso a algunas funciones equivalentes str_* y is_*. Esto es así por el hecho de que ctype usa una biblioteca C nativa y procesa significativamente más rápido.