Mathematical Functions


OverviewThis function group provides a basic set of functions for performing mathematical computations, as well as a set of named constants providing useful values. These functions are part of the standard function set built into PHP, and can only be disabled by either modifying the source code or by using the disable_functions directive in php.ini.

Named constantsPHP provides the following named constants. Not all constants are available in all versions of PHP, and only M_PI is available in any version of PHP 3.

Named constant Value Description Availability
M_1_PI 0.31830988618379067154 1 / pi PHP 4 RC 1+
M_2_PI 0.63661977236758134308 2 / pi PHP 4 RC 1+
M_2_SQRTPI 1.12837916709551257390 2 / sqrt(pi)() PHP 4 RC 1+
M_E 2.7182818284590452354 e; natural logarithm base PHP 4 RC 1+
M_EULER 0.57721566490153286061 Euler's constant PHP 4.0.2+
M_LN2 0.69314718055994530942 loge2 PHP 4 RC 1+
M_LN10 2.30258509299404568402 loge10 PHP 4 RC 1+
M_LNPI 1.14472988584940017414 logepi PHP 4.0.2+
M_LOG2E 1.4426950408889634074 log2e PHP 4 RC 1+
M_LOG10E 0.43429448190325182765 log10e PHP 4 RC 1+
M_PI 3.14159265358979323846 pi All versions
M_PI_2 1.57079632679489661923 pi / 2 PHP 4 RC 1+
M_PI_4 0.78539816339744830962 pi / 4 PHP 4 RC 1+
M_SQRT1_2 0.70710678118654752440 1 / sqrt(2)() PHP 4 RC 1+
M_SQRT2 1.41421356237309504880 sqrt(2)() PHP 4 RC 1+
M_SQRT3 1.73205080756887729352 sqrt(3)() PHP 4.0.2+
M_SQRTPI 1.77245385090551602729 sqrt(pi)() PHP 4.0.2+


NotesThese functions are dependent upon the underlying system limits when working with numbers. For instance, this means that if your system supports 32-bit integers, you will not be able to work with integers larger than 2147483647 or smaller than -2147483647 (PHP supports only signed integers). Similarly, floating-point precision will be limited to whatever the system supports. In most cases this is a 64-bit value.

If you require greater precision or larger/smaller numbers, please check out the Arbitrary Precision (BC) Mathematics functions.