Las funciones proporcionadas con esta extensión comprueban si un carácter o string caen dentro de una cierta clase de caracteres según la configuración regional en uso (véase también setlocale()).
Cuando estas funciones se invocan con un argumento de tipo integer, se comportan exactamente como sus homólogas en C de ctype.h. Esto significa que si se pasa un valor de tipo integer menor que 256 se usará el valor ASCII del mismo para ver si encaja en el rango especificado (los dígitos están en el rango 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 invocan 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 invocan con un string vacío,
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 siempre son preferibles las funciones de ctype a las
expresiones regulares, e incluso a algunas funciones str_*
y is_*
equivalentes.
Esto es así por el hecho de que ctype usa una biblioteca nativa de C y
por lo tanto procesa significativamente más rápido.
Nota:
Estas funciones no están relacionadas con la biblioteca "ctypes" de Python de ningún modo. El nombre de la extensión proviene del fichero de cabecera ctype.h de C donde están definidas sus equivalentes.
Esta extensión también es anterior a "ctypes" de Python, por lo que cualquier confusión causada por este nombramiento apenas es por nuestra culpa...