PHP: Predefined Constants - Manual (original) (raw)

The constants below are always available as part of the PHP core.

Mathematical Constants

[M_PI](math.constants.php#constant.m-pi) (float)

Approximation of the number π (pi). (3.14159265358979323846).

[M_E](math.constants.php#constant.m-e) (float)

Approximation of Euler's number e (2.7182818284590452354).

[M_LOG2E](math.constants.php#constant.m-log2e) (float)

Approximation of log2(e) (1.4426950408889634074).

[M_LOG10E](math.constants.php#constant.m-log10e) (float)

Approximation of log10(e) (0.43429448190325182765).

[M_LN2](math.constants.php#constant.m-ln2) (float)

Approximation of ln(2) (0.69314718055994530942).

[M_LN10](math.constants.php#constant.m-ln10) (float)

Approximation of ln(10) (2.30258509299404568402).

[M_PI_2](math.constants.php#constant.m-pi-2) (float)

Approximation of π/2 (1.57079632679489661923).

[M_PI_4](math.constants.php#constant.m-pi-4) (float)

Approximation of π/4 (0.78539816339744830962).

[M_1_PI](math.constants.php#constant.m-1-pi) (float)

Approximation of 1/π (0.31830988618379067154).

[M_2_PI](math.constants.php#constant.m-2-pi) (float)

Approximation of 2/π (0.63661977236758134308).

[M_SQRTPI](math.constants.php#constant.m-sqrtpi) (float)

Approximation of sqrt(π) (1.77245385090551602729).

[M_2_SQRTPI](math.constants.php#constant.m-2-sqrtpi) (float)

Approximation of 2/sqrt(π) (1.12837916709551257390).

[M_SQRT2](math.constants.php#constant.m-sqrt2) (float)

Approximation of sqrt(2) (1.41421356237309504880).

[M_SQRT3](math.constants.php#constant.m-sqrt3) (float)

Approximation of sqrt(3) (1.73205080756887729352).

[M_SQRT1_2](math.constants.php#constant.m-sqrt1-2) (float)

Approximation of 1/sqrt(2) (0.70710678118654752440).

[M_LNPI](math.constants.php#constant.m-lnpi) (float)

Approximation of ln(π) (1.14472988584940017414).

[M_EULER](math.constants.php#constant.m-euler) (float)

Approximation of Euler's constant γ (0.57721566490153286061).

IEEE 754 floating point constants

[NAN](math.constants.php#constant.nan) (float)

Not A Number

[INF](math.constants.php#constant.inf) (float)

Infinity

Rounding constants

Note: As of PHP 8.4.0, it is recommended to use the RoundingMode enum instead.

[PHP_ROUND_HALF_UP](math.constants.php#constant.php-round-half-up) (int)

Rounding half away from zero.

[PHP_ROUND_HALF_DOWN](math.constants.php#constant.php-round-half-down) (int)

Rounding half toward zero.

[PHP_ROUND_HALF_EVEN](math.constants.php#constant.php-round-half-even) (int)

Round halves to even numbers

[PHP_ROUND_HALF_ODD](math.constants.php#constant.php-round-half-odd) (int)

Round halves to odd numbers

Found A Problem?

md2perpe at gmail dot com

10 years ago

I just learnt of INF today and found out that it can be used in comparisons:

    echo 5000 < INF ? 'yes' : 'no';       // outputs 'yes'
    echo INF < INF ? 'yes' : 'no';        // outputs 'no'
    echo INF <= INF ? 'yes' : 'no';       // outputs 'yes'
    echo INF == INF ? 'yes' : 'no';       // outputs 'yes'

You can also take its negative:

    echo -INF < -5000 ? 'yes' : 'no';    // outputs 'yes'

Division by INF is allowed:

    echo 1/INF;    // outputs '0'

Hayley Watson

13 years ago

There are also the predefined PHP_INT_MAX and PHP_INT_SIZE constants, that describe the range of possible integer values.

pemapmodder1970 at gmail dot com

9 years ago

Although INF can be used for comparison against normal numbers and as a directed number, and behaves as reciprocal of zero, it is not like limit INF tends to infinity. These operations do not work:

<?php
var_dump(INF / INF); // float(NAN)
var_dump(INF - INF); // float(NAN)
?>

However, it works with arc-tangent:
<?php
var_dump(atan(INF) / M_PI); // float(0.5)
var_dump(atan2(INF, INF) / M_PI); // float(0.25)
var_dump(atan2(1, INF) / M_PI); // float(0)
?>

Hayley Watson

8 years ago

From PHP 7.2.0, the PHP_FLOAT_* constants are provided to describe the properties of floating point numbers that can be stored; PHP_FLOAT_MAX, for example, is analogous to PHP_INT_MAX and represents the largest possible floating-point number.