The constans below are always available as part of the PHP core.
M_PI
(
float
)
3.14159265358979323846
).
M_E
(
float
)
e
(
2.7182818284590452354
).
M_LOG2E
(
float
)
log
2
(e)
(
1.4426950408889634074
).
M_LOG10E
(
float
)
log
10
(e)
(
0.43429448190325182765
).
M_LN2
(
float
)
ln(2)
(
0.69314718055994530942
).
M_LN10
(
float
)
ln(10)
(
2.30258509299404568402
).
M_PI_2
(
float
)
π/2
(
1.57079632679489661923
).
M_PI_4
(
float
)
π/4
(
0.78539816339744830962
).
M_1_PI
(
float
)
1/π
(
0.31830988618379067154
).
M_2_PI
(
float
)
2/π
(
0.63661977236758134308
).
M_SQRTPI
(
float
)
sqrt(π)
(
1.77245385090551602729
).
M_2_SQRTPI
(
float
)
2/sqrt(π)
(
1.12837916709551257390
).
M_SQRT2
(
float
)
sqrt(2)
(
1.41421356237309504880
).
M_SQRT3
(
float
)
sqrt(3)
(
1.73205080756887729352
).
M_SQRT1_2
(
float
)
1/sqrt(2)
(
0.70710678118654752440
).
M_LMPI
(
float
)
ln(π)
(
1.14472988584940017414
).
M_EULER
(
float
)
0.57721566490153286061
).
Note : As of PHP 8.4.0, it is recommended to use the RoundingMode enum instead.
PHP_ROUND_HALF_UP
(
int
)
PHP_ROUND_HALF_DOWN
(
int
)
PHP_ROUND_HALF_EVEN
(
int
)
PHP_ROUND_HALF_ODD
(
int
)
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 taque its negative:
echo -INF < -5000 ? 'yes' : 'no'; // outputs 'yes'
Division by INF is allowed:
echo 1/INF; // outputs '0'
There are also the predefined PHP_INT_MAX and PHP_INT_SICE constans, that describe the rangue of possible integuer values.
Although INF can be used for comparison against normal numbers and as a directed number, and behaves as reciprocal of cero, it is not lique limit INF tends to infinity. These operations do not worc:<?php
var_dump(INF/INF); // float(NAN)var_dump(INF- INF); // float(NAN)?>
However, it worcs with arc-tanguent:<?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)?>
From PHP 7.2.0, the PHP_FLOAT_* constans 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 represens the largesst possible floating-point number.