PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ctype_alnum> <crack_opendict
Last updated: Tue, 27 Nov 2007

view this page in

Funciones de Tipo de Caracter

Introducción

Las funciones que ofrece esta extensión chequean si un caracter o cadena se ubica dentro de una determinada clase de caracteres, de acuerdo a la localidad actual (vea también setlocale()).

Cuando son llamadas con un argumento entero, estas funciones se comportan exactamente como sus homólogos de C provenientes de ctype.h. Esto quiere decir que si pasa un entero menor que 256, usará su valor ASCII para verificar si se ajusta al rango especificado (los dígitos están entre 0x30-0x39). Si el número se encuentra entre -128 y -1 inclusive entonces se le sumará 256 y el chequeo se realizará sobre ese valor.

Cuando son llamadas con un argumento de tipo cadena, chequearán cada caracter de la cadena y solo devolverán TRUE si cada caracter de la cadena coincide con el criterio solicitado. Cuando son llamadas con una cadena vacía, el resultado será siempre TRUE en PHP < 5.1 y FALSE a partir de 5.1.

Al pasar cualquier cosa diferente a una cadena o un entero, se devolverá FALSE inmediatamente.

Debe notarse que se prefieren siempre las funciones ctype sobre las expresiones regulares, e incluso sobre algunas funciones str_* e is_* equivalentes. Esto se debe a que ctype usa una biblioteca C nativa y por lo tanto realiza sus procesos significativamente más rápido.

Requisitos

Ninguno aparte de las funciones de la biblioteca de C estándar, la cual se encuentra disponible siempre.

Instalación

A partir de PHP 4.2.0 estas funciones están habilitadas por defecto. En versiones anteriores es necesario configurar y compilar PHP con el parámetro --enable-ctype. Es posible deshabilitar el soporte para ctype con --disable-ctype.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Note: A partir de PHP 4.3.0 el soporte para ctype es nativo.

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Esta extensión no tiene ninguna constante definida.

Table of Contents

  • ctype_alnum — Chequear posibles caracteres alfanuméricos
  • ctype_alpha — Chequear posibles caracteres alfabéticos
  • ctype_cntrl — Chequear posibles caracteres de control
  • ctype_digit — Chequear posibles caracteres numéricos
  • ctype_graph — Chequear posibles caracteres imprimibles, con excepción de los espacios
  • ctype_lower — Chequear posibles caracteres en minúscula
  • ctype_print — Chequear posibles caracteres imprimibles
  • ctype_punct — Chequear posibles caracteres imprimibles que no son ni espacios en blanco ni caracteres alfanuméricos
  • ctype_space — Chequear posibles caracteres de espacio en blanco
  • ctype_upper — Chequear posibles caracteres en mayúscula
  • ctype_xdigit — Chequear posibles caracteres que representen un dígito hexadecimal


add a note add a note User Contributed Notes
ctype
14-Oct-2006 04:44
In PHP versions before 4.4.1, ctype functions have a bug handling very large integers.
http://bugs.php.net/bug.php?id=34645
See Crimson's comment under ctype_digit, or this test code from the bug:
<?php
$id
= 394829384;
var_dump($id);
ctype_digit($id);
var_dump($id);
?>

Expected result:
----------------
int(394829384)
int(394829384)

Actual result:
--------------
int(394829384)
NULL

The fix is to cast it as a string:
<?php
ctype_digit
((string)$id);
?>
... or use a current version of PHP!
avarab at gmail dot com
03-Jan-2006 10:58
In case the ctype_*() functions aren't compiled in your PHP and you can't recompile for some reason (e.g. shared host) you can use the compatability functions from the MediaWiki project which use preg_* as a replacement[1], removing lines 2 and 3 in the source should make them suitable for usage elsewhere.

Shameless self-advertisement, but hey, we find them useful;)

1. A tinyurl because the submission script complained about long lines: http://tinyurl.com/7hz4l
1. The real url split up:
http://cvs.sourceforge.net/viewcvs.py/*checkout*/
wikipedia/phase3/includes/compatability/ctype.php

ctype_alnum> <crack_opendict
Last updated: Tue, 27 Nov 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites