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() - Фильтрует переменную