PHP Conference Japan 2024

预定义常量

以下常量始终作为PHP核心的一部分可用。

数学常量
M_PI (float)
π (pi) 的近似值。(3.14159265358979323846)。
M_E (float)
欧拉数 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)
欧拉-马歇罗尼常数 γ 的近似值(0.57721566490153286061)。
IEEE 754 浮点数常量
NAN (float)
非数字
INF (float)
无穷大
舍入常量

注意: 从 PHP 8.4.0 开始,建议使用 RoundingMode 枚举代替。

PHP_ROUND_HALF_UP (int)
远离零舍入。
PHP_ROUND_HALF_DOWN (int)
向零舍入。
PHP_ROUND_HALF_EVEN (int)
将一半舍入到偶数
PHP_ROUND_HALF_ODD (int)
将一半舍入到奇数
添加备注

用户贡献的备注 4条备注

md2perpe at gmail dot com
9年前
我今天才了解到INF,并发现它可以用于比较

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

你也可以取它的负数

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

允许除以INF

echo 1/INF; // 输出 '0'
Hayley Watson
12年前
还有预定义的PHP_INT_MAX和PHP_INT_SIZE常量,它们描述了可能的整数值的范围。
pemapmodder1970 at gmail dot com
8年前
尽管INF可以用于与普通数字的比较和作为有向数,并且表现为零的倒数,但它不像极限INF趋于无穷大。这些操作不起作用

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

但是,它与反正切函数一起工作
<?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年前
从PHP 7.2.0开始,提供PHP_FLOAT_*常量来描述可以存储的浮点数的属性;例如,PHP_FLOAT_MAX类似于PHP_INT_MAX,表示最大的浮点数。
To Top