ctype_digit

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

ctype_digitChequear posibles caracteres numéricos

Descripción

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 entero en el rango -128 y 255 inclusive, será interpretado como el valor ASCII de un solo carácter (los valores negativos se verán añadir 256 para permitir caracteres en el rango ASCII extendido). Cualquier otro entero será interpretado como una cadena de caracteres que contiene los dígitos decimales del entero.

Advertencia

Desde PHP 8.1.0, pasar un argumento diferente de una cadena está obsoleto. En el futuro, el argumento será interpretado como una cadena de caracteres en lugar de un punto de código ASCII. Según el comportamiento deseado, el argumento debe ser convertido a string o debe realizarse 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 strings con integers

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

Ver 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