# Introducción

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...