Actually any string ending in INF is more appropriate than any string beginning with INF. Since negative infinity evaluates to "-INF" but it is still infinite. However in either case the STRING "INF" is not infinite, only a float that converts to "INF" or "-INF" is infinite.
A more appropriate function might be:
<?php
if (!is_defined('is_infinite')) { function is_infinite($val) {
return (is_float($val) and ("$val"=='INF' or "$val"=='-INF'));
} }
?>
* However the above function is untested.
is_infinite
(PHP 4 >= 4.2.0, PHP 5)
is_infinite — 値が無限大であるかどうかを判定する
説明
bool is_infinite
( float $val
)
val が(正または負の)無限大である場合に TRUE を返します。たとえば log(0) の結果、 あるいはこのプラットフォーム上で扱える float の範囲を超えた数などが あてはまります。
パラメータ
- val
-
調べる値。
返り値
val が無限大である場合に TRUE、 そうでない場合に FALSE を返します。
is_infinite
stangelanda at arrowquick dot com
28-Aug-2007 11:29
28-Aug-2007 11:29
22-Aug-2006 12:54
@ david,
That will return true for any string ending with "INF".
I think substr("$value",0,3) would be more appropriate.
david(@t)nirvanis(d@t)org
31-Aug-2004 06:49
31-Aug-2004 06:49
If you have PHP lower than 4.2 you can simulate the behaviour:
function is_infinite($value) {
return (substr("$value",-3) == "INF");
}
(tested on php 4.1.2)