(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_digit — Chequear posibles caracteres numéricos
Verifica si todos los caracteres en la string entregada,
text, son numéricos.
textLa cadena probada.
Nota: Si se proporciona un int entre -128 y 255 inclusive, este se interpreta como el valor ASCII de un solo carácter (a los valores negativos se les añade 256 para permitir caracteres del rango ASCII extendido). Cualquier otro entero se interpreta como un string que contiene los dígitos decimales del entero.
A partir de PHP 8.1.0, pasar un argumento que no sea string está obsoleto. En el futuro, el argumento se interpretará como un string en lugar de un punto de código ASCII. Según el comportamiento deseado, el argumento debería convertirse a string o se debería realizar una llamada explícita a chr().
Devuelve true si cada caracter del texto es un
dígito decimal, o false de lo contrario.
Cuando se llama con una cadena vacía, el resultado será siempre false.
Ejemplo #1 Un ejemplo de ctype_digit()
<?php
$cadenas = array('1820.20', '10002', 'wsl!12');
foreach ($cadenas as $caso_prueba) {
if (ctype_digit($caso_prueba)) {
echo "La cadena $caso_prueba consiste completamente de dígitos.\n";
} else {
echo "La cadena $caso_prueba no consiste completamente de dígitos.\n";
}
}
?>El ejemplo anterior mostrará:
La cadena 1820.20 no consiste completamente de dígitos. La cadena 10002 consiste completamente de dígitos. La cadena wsl!12 no consiste completamente de dígitos.
Ejemplo #2 Un ejemplo de ctype_digit() comparando cadenas con enteros
<?php
$numeric_string = '42';
$integer = 42;
ctype_digit($numeric_string); // true
ctype_digit($integer); // false (ASCII 42 es el caracter *)
is_numeric($numeric_string); // true
is_numeric($integer); // true
?>