定義済み定数
以下の定数は、PHP コアに含まれており、常に利用可能です。
-
数学関連の定数
-
M_PI
(float) -
π (pi) の近似値
(
3.14159265358979323846
). -
M_E
(float) -
Euler数
e
の近似値 (2.7182818284590452354
). -
M_LOG2E
(float) -
log2(e)
の近似値 (1.4426950408889634074
). -
M_LOG10E
(float) -
log10(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_LNPI
(float) -
ln(π)
の近似値 (1.14472988584940017414
). -
M_EULER
(float) -
Euler's constant γ の近似値
(
0.57721566490153286061
).
-
丸め定数
-
PHP_ROUND_HALF_UP
(int) - ゼロから離れる方向に丸めます。
-
PHP_ROUND_HALF_DOWN
(int) - ゼロに近づく方向に丸めます。
-
PHP_ROUND_HALF_EVEN
(int) - もっとも近い偶数に丸めます。
-
PHP_ROUND_HALF_ODD
(int) - もっとも近い奇数に丸めます。
注意: PHP 8.4.0 以降は、 RoundingMode enum を代わりに使うことを推奨します。
+add a note
User Contributed Notes 4 notes
md2perpe at gmail dot com ¶
9 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 ¶
12 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 ¶
8 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 ¶
7 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.