ctype_digit

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

ctype_digitVerifica se os caracteres são numéricos

Descrição

ctype_digit(mixed $text): bool

Verifica se todos os caracteres na string fornecida, text, são numéricos.

Parâmetros

text

A string a ser testada.

Note:

Se um int entre -128 e 255 inclusive for fornecido, ele será interpretado como o valor ASCII de um único caractere (valores negativos são somados a 256 para permitir caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado como uma string contendo os dígitos decimais do inteiro.

Warning

A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se defasado. No futuro, o argumento será interpretado como uma string em vez de um ponto de código ASCII. Dependendo do comportamento esperado, o argumento deve ser convertido para string ou uma chamada explícita para chr() deve ser feita.

Valor Retornado

Retorna true se todos caracteres na string text são dígitos decimais, false caso contrário. Quando chamada com uma string vazia, o resultado sempre será false.

Exemplos

Example #1 Um exemplo de ctype_digit()

<?php
$strings = array('1820.20', '10002', 'wsl!12');
foreach ($strings as $caso_de_teste) {
    if (ctype_digit($caso_de_teste)) {
        echo "A string $caso_de_teste consiste inteiramente de dígitos.\n";
    } else {
        echo "A string $caso_de_teste não consiste inteiramente de dígitos.\n";
    }
}
?>

O exemplo acima produzirá:

A string 1820.20 não consiste inteiramente de dígitos.
A string 10002 consiste inteiramente de dígitos.
A string wsl!12 não consiste inteiramente de dígitos.

Example #2 Um exemplo de ctype_digit() comparando strings com inteiros

<?php

$string_numerica = '42';
$inteiro         = 42;

ctype_digit($string_numerica);  // verdadeiro
ctype_digit($inteiro);          // false (código ASCII 42 é o caractere *)

is_numeric($string_numerica);   // verdadeiro
is_numeric($inteiro);           // verdadeiro
?>

Veja Também

  • ctype_alnum() - Verifica se os caracteres são alfanuméricos
  • ctype_xdigit() - Verifica se os caracteres representam um dígito hexadecimal
  • is_numeric() - Verifica se uma variável é um número ou uma string numérica
  • is_int() - Informa se o tipo de uma variável é um inteiro
  • is_string() - Verifica se o tipo de uma variável é string
  • IntlChar::isdigit() - Verifica se um ponto de código é um caractere de dígito