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

# 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

function 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

Exemplo #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

Exemplo #2 is_numeric() com espaço em branco

    <?php
    $tests = [
        " 42",
        "42 ",
        "\u{A0}9001", // caractere de espaço sem quebra
        "9001\u{A0}", // caractere de espaço sem quebra
    ];

    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

- Strings numéricas
- ctype_digit() - Verifica se os caracteres são numéricos
- is_bool() - Verifica se a variável é um booleano
- is_null() - Verifica se uma variável é null
- is_float() - Verifica se a variável é do tipo float
- is_int() - Informa se o tipo de uma variável é um inteiro
- is_string() - Verifica se o tipo de uma variável é string
- is_object() - Verifica se uma variável é um objeto
- is_array() - Verifica se a variável é um array
- filter_var() - Filtra uma variável com um filtro especificado

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open