is_numeric

(PHP 4, PHP 5, PHP 7, PHP 8)

is_numeric Verifica se uma variável é um número ou uma string numérica

Descrição

is_numeric(mixed $value): bool

Determina se a variável fornecida é um número ou uma string numérica.

Parâmetros

value

A variável a ser avaliada.

Valor Retornado

Retorna true se value for um número ou uma string numérica, false caso contrário.

Registro de Alterações

Versão Descrição
8.0.0 String numéricas terminando com espaços ("42 ") agora retornam true. Anteriormente, false era retornado.

Exemplos

Example #1 Exemplos de is_numeric()

<?php
$tests = array(
    "42",
    1337,
    0x539,
    02471,
    0b10100111001,
    1337e0,
    "0x539",
    "02471",
    "0b10100111001",
    "1337e0",
    "not numeric",
    array(),
    9.1,
    null,
    '',
);

foreach ($tests as $element) {
    if (is_numeric($element)) {
        echo var_export($element, true) . " é numérico", PHP_EOL;
    } else {
        echo var_export($element, true) . " NÃO é numérico", PHP_EOL;
    }
}
?>

O exemplo acima produzirá:

'42' é numérico
1337 é numérico
1337 é numérico
1337 é numérico
1337 é numérico
1337.0 é numérico
'0x539' NÃO é numérico
'02471' é numérico
'0b10100111001' NÃO é numérico
'1337e0' é numérico
'not numeric' NÃO é numérico
array (
) NÃO é numérico
9.1 é numérico
NULL NÃO é numérico
'' NÃO é numérico

Example #2 is_numeric() with whitespace

<?php
$tests = [
    " 42",
    "42 ",
    "\u{A0}9001", // non-breaking space
    "9001\u{A0}", // non-breaking space
];

foreach ($tests as $element) {
    if (is_numeric($element)) {
        echo var_export($element, true) . " é numérico", PHP_EOL;
    } else {
        echo var_export($element, true) . " NÃO é numérico", PHP_EOL;
    }
}
?>

Saída do exemplo acima no PHP 8:

' 42' é numérico
'42 ' é numérico
' 9001' NÃO é numérico
'9001 ' NÃO é numérico

Saída do exemplo acima no PHP 7:

' 42' é numérico
'42 ' NÃO é numérico
' 9001' NÃO é numérico
'9001 ' NÃO é numérico

Veja Também