似乎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