Проверяет, содержит ли переменная число или числовую строку

# is_numeric

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

is_numeric — Проверяет, содержит ли переменная число или числовую строку

### Описание

function is_numeric(mixed `$value`): bool

Функция определяет, содержит ли переменная число или числовую строку.

### Список параметров

`value`

  Проверяемая переменная.

### Возвращаемые значения

Функция возвращает `true`, если значение `value` — число или числовая строка, иначе `false`.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Числовые строки, которые заканчиваются пробелом (`"42 "`), теперь вернут `true`. Раньше вместо этого возвращалось `false`.

### Примеры

Пример #1 Пример определения отношения переменной к числовым значениям функцией 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) . " — число", PHP_EOL;
        } else {
            echo var_export($element, true) . " — НЕ число", PHP_EOL;
        }
    }

    ?>

Результат выполнения приведённого примера:

    '42' — число
    1337 — число
    1337 — число
    1337 — число
    1337 — число
    1337.0 — число
    '0x539' — НЕ число
    '02471' — число
    '0b10100111001' — НЕ число
    '1337e0' — число
    'not numeric' — НЕ число
    array (
    ) — НЕ число
    9.1 — число
    NULL — НЕ число
    '' — НЕ число

Пример #2 Пример проверки функцией is_numeric() значения переменных с пробелом

    <?php

    $tests = [
        " 42",
        "42 ",
        "\u{A0}9001", // Неразрывный пробел
        "9001\u{A0}", // Неразрывный пробел
    ];

    foreach ($tests as $element) {
        if (is_numeric($element)) {
            echo var_export($element, true) . " — число", PHP_EOL;
        } else {
            echo var_export($element, true) . " — НЕ число", PHP_EOL;
        }
    }

    ?>

Результат выполнения приведённого примера в PHP 8:

    ' 42' — число
    '42 ' — число
    ' 9001' — НЕ число
    '9001 ' — НЕ число

Результат выполнения приведённого примера в PHP 7:

    ' 42' — число
    '42 ' — НЕ число
    ' 9001' — НЕ число
    '9001 ' — НЕ число

### Смотрите также

- Числовые строки
- ctype_digit() - Проверяет цифровые символы
- is_bool() - Проверяет, принадлежит ли переменная логическому типу
- is_null() - Проверяет, равно ли значение переменной значению null
- is_float() - Проверяет, представляет ли собой переменная число с плавающей точкой
- is_int() - Проверяет, представляет ли собой переменная целое число
- is_string() - Проверяет, представляет ли собой тип переменной строку
- is_object() - Проверяет, представляет ли собой переменная объект
- is_array() - Определяет, представляет ли собой переменная массив
- filter_var() - Фильтрует переменную

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