【问题标题】:PHP : is_nan() returning an errorPHP : is_nan() 返回错误
【发布时间】:2011-09-21 08:02:32
【问题描述】:

我只是尝试使用 is_nan() 验证一个值。我有一个名为 validate() 的类,它可以做到这一点,但我正在尝试使用 php 的函数来优化我的代码。

所以问题很简单。我正在使用这段代码,作为回应,我收到了这个错误。如何消除这个错误??我做错了什么??除了 preg_match() 还有其他方法可以实现这个目标吗?

$discount = "0nbgjgvbngjxk";

var_dump(is_nan($discount));

结果:

Error : A non well formed numeric value encountered

bool false

虽然我得到的结果是正确的,但是为什么会出现这个错误。我正在验证数字。我正在使用 CodeIgniter,所以这些错误可以在启用时被禁用。但我很想解决这个错误。

谢谢。

【问题讨论】:

    标签: php


    【解决方案1】:

    is_nan 将浮点数作为参数,但您将其传递给字符串。

    看看 is_numeric 可能更接近你想要的。

    【讨论】:

    • 不。 is_numeric 用字符串验证数字,这是我不想要的。我只想要数字。
    • 亲爱的,我想纠正你,它期望双精度类型值不是浮点数。但是,嘿..它解决了我的目的。感谢您的回复。
    • ctype_digit() 也可以是一个选项
    • 我离开了官方文档,上面写着is_nan 需要一个浮点数,但在 PHP 中双精度和浮点数是相同的。 Source 1, Source 2
    • @AakashSahai: is_numeric() 这样做:查找变量是数字还是数字字符串这有什么问题?
    猜你喜欢
    • 1970-01-01
    • 2011-12-05
    • 2013-10-03
    • 2012-09-19
    • 2014-05-27
    • 2017-09-30
    • 2017-06-07
    • 2013-11-05
    • 1970-01-01
    相关资源
    最近更新 更多