gpt4 book ai didi

PHP 函数 is_nan() 对字符串抛出警告

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:52:58 24 4
gpt4 key购买 nike

我一直在使用 is_nan() 函数(即 is-not-a-number)来检查从查询字符串中获取的变量是否为数字。然而,在变量是字符串的情况下(在这种情况下 is_nan() 应该返回 TRUE),该函数还会抛出以下相当烦人的警告:

Warning: is_nan() expects parameter 1 to be double, string given

既然 is_nan() 用于检查变量是否不是 数字,为什么它会为字符串抛出错误?我原以为它应该接受非数字参数,因为这是它的目的......

是否有引发此类警告的原因?有什么我在这里没有看到的感觉吗?

注意:当抛出错误时,该函数仍按预期运行 - 它为字符串返回 TRUE,为数字返回 FALSE。但是,我想知道为什么它也会在字符串的情况下发出警告。
从那以后,我也开始使用 is_int(),因为我发现它更适合我的目的,所以我不在寻找替代品。我只是对这种行为感到好奇。

最佳答案

该函数用于检查数学函数和运算的返回值的有效性(参见 NaN@wikipedia )并需要一个 float 作为参数。示例取自 function's documentation :

$nan = acos(8);
var_dump($nan, is_nan($nan));

# prints:
float(NAN)
bool(true)

您可能想要的是 is_numeric() :

if (!is_numeric($arbitraryType)) {

关于PHP 函数 is_nan() 对字符串抛出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1377922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com