(PHP 4, PHP 5, PHP 7, PHP 8)
is_numeric — Проверяет, содержит ли переменная число или числовую строку
Функция определяет, содержит ли переменная число или числовую строку.
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 ' — НЕ число