Determina si una variable es un número o una cadena numérica

# is_numeric

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

is_numeric — Determina si una variable es un número o una cadena numérica

### Descripción

function is_numeric(mixed `$value`): bool

Determina si la variable dada es un número o una cadena numérica.

### Parámetros

`value`

  La variable a evaluar.

### Valores devueltos

Retorna `true` si `value` es un número o una cadena numérica, `false` en caso contrario.

### Historial de cambios

Versión | Descripción
--- | ---
8.0.0 | Las cadenas numéricas que terminan con caracteres de espaciado en blanco (`"42 "`) retornarán ahora `true`. Anteriormente, se retornaba `false` en su lugar.

### Ejemplos

Ejemplo #1 Ejemplo con 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) . " es numérico", PHP_EOL;
        } else {
            echo var_export($element, true) . " NO es numérico", PHP_EOL;
        }
    }
    ?>

El ejemplo anterior mostrará:

    '42' es numérico
    1337 es numérico
    1337 es numérico
    1337 es numérico
    1337 es numérico
    1337.0 es numérico
    '0x539' NO es numérico
    '02471' es numérico
    '0b10100111001' NO es numérico
    '1337e0' es numérico
    'not numeric' NO es numérico
    array (
    ) NO es numérico
    9.1 es numérico
    NULL NO es numérico
    '' NO es numérico

Ejemplo #2 is_numeric() con caracteres de espaciado en blanco

    <?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) . " is numeric", PHP_EOL;
        } else {
            echo var_export($element, true) . " is NOT numeric", PHP_EOL;
        }
    }
    ?>

Resultado del ejemplo anterior en PHP 8:

    ' 42' is numeric
    '42 ' is numeric
    ' 9001' is NOT numeric
    '9001 ' is NOT numeric

Resultado del ejemplo anterior en PHP 7:

    ' 42' is numeric
    '42 ' is NOT numeric
    ' 9001' is NOT numeric
    '9001 ' is NOT numeric

### Ver también

- Las cadenas numéricas
- ctype_digit() - Chequear posibles caracteres numéricos
- is_bool() - Determina si una variable es un bool
- is_null() - Indica si una variable es null
- is_float() - Determina si una variable es de tipo float
- is_int() - Determina si una variable es de tipo integer
- is_string() - Determina si una variable es de tipo string
- is_object() - Determina si una variable es de tipo objeto
- is_array() - Determina si una variable es un array
- filter_var() - Filtra una variable con el filtro que se indique

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