ctype_digit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_digitChequear posibles caracteres numéricos

Descripción

function ctype_digit(mixed $text): bool

Verifica si todos los caracteres en la string entregada, text, son numéricos.

Parámetros

text

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

Advertencia

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

Valores devueltos

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.

Ejemplos

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

Véase también

  • ctype_alnum() - Chequear posibles caracteres alfanuméricos
  • ctype_xdigit() - Chequear posibles caracteres que representen un dígito hexadecimal
  • is_numeric() - Determina si una variable es un número o una cadena numérica
  • is_int() - Determina si una variable es de tipo integer
  • is_string() - Determina si una variable es de tipo string
  • IntlChar::isdigit() - Verifica si un punto de código es un dígito