我一直在使用该is_nan()
函数(即 is-not-a-number)来检查从查询字符串中获取的变量是否为数字。但是,在变量是字符串的情况下(在这种情况下is_nan()
应该 return TRUE
),该函数还会引发以下相当烦人的警告:
Warning: is_nan() expects parameter 1 to be double, string given
既然is_nan()
是为了检查变量是否不是数字,为什么它会为字符串抛出错误?我会认为它应该接受非数字参数,因为这是它的目的......
是否有理由抛出这样的警告?有什么我在这里看不到的感觉吗?
注意:当错误被抛出时,函数仍然按预期运行——它对字符串返回 TRUE,对数字返回 FALSE。但是,我想知道为什么它也会在字符串的情况下引发警告。
我也开始使用is_int()
它,因为我发现它更适合我的目的,所以我没有寻找替代品。我只是对这种行为感到好奇。