NAN和php中的is_nan()函数的概念

时间:2018-10-03 19:30:52

标签: php nan

PHP中NaN的概念是什么?在何时何地使用它,为什么有用?

下面的功能是做什么用的?而且,我需要下面的代码解释。

<?php echo is_nan(200) . "<br>"; echo is_nan(acos(1.01)); ?>

1 个答案:

答案 0 :(得分:1)

NaN的意思是“不是数字”。我们基本上将虚数(例如:复数)称为 NaN ,例如:-1的平方根( i ),acos(1.01)。这些数字无法计算/计算。

Reference

  

nan /“不是数字”并不意味着要查看数据类型是否为   数字/文字/等。

     

NaN实际上是一组可以存储在浮点中的值   变量,但实际上没有求出适当的浮点数   数字。

     

浮点系统分为三个部分:1位用于符号   (+/-),8位指数和23位小数部分。有   规则,规定可以将哪些值组合放入每个   部分,并为数字(例如无穷大)保留了一些值。   这导致某些组合无效,换句话说,   不是数字。

通过is_nan()函数的documentation

bool is_nan ( float $val )
  

详细信息::检查val是否为“非数字”,例如acos(1.01)的结果。

     

返回,如果val为“非数字”则为TRUE,否则为FALSE。

因此,基本上,此函数用于检查数学函数和运算的返回值的有效性,并期望将float作为参数。

现在, 200 是有效数字。因此,is_nan(200)将返回False

与此同时,acos(1.01)试图找到 1.01 的反余弦。从数学上,我们非常了解余弦函数返回的值在 -1 +1 范围内。因此不能存在1.01(大于1)的值。因此,无法确定acos(1.01)。因此,它不是有效数字。因此,is_nan(acos(1.01))将返回True