(PHP 4, PHP 5, PHP 7, PHP 8)
is_numeric — 检测变量是否为数字或数字字符串
value
需要检测的变量。
如果 value
是数字或数字字符串,
返回 true
,否则返回 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) . " is numeric", PHP_EOL;
} else {
echo var_export($element, true) . " is NOT numeric", PHP_EOL;
}
}
?>
以上例程会输出:
'42' is numeric 1337 is numeric 1337 is numeric 1337 is numeric 1337 is numeric 1337.0 is numeric '0x539' is NOT numeric '02471' is numeric '0b10100111001' is NOT numeric '1337e0' is numeric 'not numeric' is NOT numeric array ( ) is NOT numeric 9.1 is numeric NULL is NOT numeric '' is NOT numeric
示例 #2 带有空格的 is_numeric()
<?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;
}
}
?>
以上例程在 PHP 8 中的输出:
' 42' is numeric '42 ' is numeric ' 9001' is NOT numeric '9001 ' is NOT numeric
以上例程在 PHP 7 中的输出:
' 42' is numeric '42 ' is NOT numeric ' 9001' is NOT numeric '9001 ' is NOT numeric