PHP Australia Conference 2015

is_infinite

(PHP 4 >= 4.2.0, PHP 5)

is_infiniteSprawdza czy wartość jest nieskończona

Opis

bool is_infinite ( float $wartość )

Zwraca TRUE, jeśli argument wartość jest nieskończonością (dodatnią lub ujemną), tak jak wynik operacji log(0), lub cokolwiek innego, co wykracza poza typ zmiennoprzecinkowy (float) dla tej platformy.

Patrz także is_finite() i is_nan().

add a note add a note

User Contributed Notes 5 notes

up
0
Anonymous
2 years ago
PHP_INT_MAX is The largest integer supported in this build of PHP. Usually int(2147483647). Available since PHP 4.4.0 and PHP 5.0.5
up
0
stangelanda at arrowquick dot com
7 years ago
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.
up
0
Anonymous
8 years ago
@ david,

That will return true for any string ending with "INF".
I think substr("$value",0,3) would be more appropriate.
up
0
david(@t)nirvanis(d@t)org
10 years ago
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)
up
-1
espertalhao04 at hotmail dot com
11 months ago
fastest version to php <4.2:
<?php function is_infinite($v){$v=$v>>0;return -9e1000==$v||$v==9e1000;}; ?>

the $v=$v>>0; is just to ensure it is a number and its not mandatory.
effectively, the function can be reduced to:
<?php function is_infinite($v){return -9e1000==$v||$v==9e1000;}; ?>

this works because any number that is too big or too small for a float is considered to be infinite or -infinite.
To Top