似乎PHP is_NaN()
函数没有返回任何东西(不返回true
或false
)。这里是它没有返回任何东西的代码:PHP is_NaN()不返回任何东西
$id = 111;
$booltest = is_nan($id);
if ($booltest) {
echo 'Invalid ID: "' . $id . '"';
exit();
}
它不会触发if语句。我正在使用PHP5。有谁知道解决此问题的方法或方法?谢谢。
似乎PHP is_NaN()
函数没有返回任何东西(不返回true
或false
)。这里是它没有返回任何东西的代码:PHP is_NaN()不返回任何东西
$id = 111;
$booltest = is_nan($id);
if ($booltest) {
echo 'Invalid ID: "' . $id . '"';
exit();
}
它不会触发if语句。我正在使用PHP5。有谁知道解决此问题的方法或方法?谢谢。
is_nan()
不检查变量的数据类型是否是数字。有一种叫not a number
或NaN
,它告诉我们该号码不是可表示的形式。 is_nan()
函数检查数字是否为NaN。
如果你想检查整数,你可以使用is_int()
。
象下面这样:
$id = 111;
$booltest = is_int($id);
if ($booltest) {
echo 'Invalid ID: "' . $id . '"';
exit();
}
我想你可能会被!is_numeric
混为一谈is_nan
。
NaN
(“不是数字”)是一个特定的浮点值,表示某些不能用实数表示的数学结果。例如,负数的平方根:
$x = sqrt(-1);
var_dump($x);
var_dump(is_nan($x));
var_dump(is_numeric($x));
输出:
float(NAN)
bool(true)
bool(true)
is_nan
仅测试飘浮并仅返回true
为特定浮点值的NaN。如果你给它,比如一个字符串,它将返回null
,因为参数不是浮点类型。所以,它听起来就像你正在寻找替代is_numeric
:
$x = "asdf";
var_dump(is_nan($x));
var_dump(is_numeric($x));
$y = 111;
var_dump(is_nan($y));
var_dump(is_numeric($y));
输出:
NULL
bool(false)
bool(false)
bool(true)
这段代码的预期结果是结束静默,因为is_nan返回该实例假的。 – JAL
尝试更改为'$ id = NAN' –
该函数只在设置为字符串时返回编译器警告,而不是自定义错误。 – CosineWaves