预定义常量

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

数学常量
常量 描述 可用性
M_PI 3.14159265358979323846 圆周率  
M_E 2.7182818284590452354 自然对数的底数 e  
M_LOG2E 1.4426950408889634074 以 2 为底 e 的对数  
M_LOG10E 0.43429448190325182765 以 10 为底 e 的对数  
M_LN2 0.69314718055994530942 以 e 为底 2 的对数  
M_LN10 2.30258509299404568402 以 e 为底 10 的对数  
M_PI_2 1.57079632679489661923 pi/2  
M_PI_4 0.78539816339744830962 pi/4  
M_1_PI 0.31830988618379067154 1/pi  
M_2_PI 0.63661977236758134308 2/pi  
M_SQRTPI 1.77245385090551602729 sqrt(pi)  
M_2_SQRTPI 1.12837916709551257390 2/sqrt(pi)  
M_SQRT2 1.41421356237309504880 sqrt(2)  
M_SQRT3 1.73205080756887729352 sqrt(3)  
M_SQRT1_2 0.70710678118654752440 1/sqrt(2)  
M_LNPI 1.14472988584940017414 log_e(pi)  
M_EULER 0.57721566490153286061 欧拉常数  
PHP_ROUND_HALF_UP 1 四舍五入  
PHP_ROUND_HALF_DOWN 2 五舍六入  
PHP_ROUND_HALF_EVEN 3 四舍五入到偶数  
PHP_ROUND_HALF_ODD 4 四舍五入到奇数  
NAN NAN(作为浮点数) 非数字  
INF INF(作为浮点数) 无穷大  

添加笔记

用户贡献笔记 4 个笔记

md2perpe at gmail dot com
8 年前
我今天刚了解到 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
6 年前
从 PHP 7.2.0 开始,提供 PHP_FLOAT_* 常量来描述可以存储的浮点数的属性;例如,PHP_FLOAT_MAX 类似于 PHP_INT_MAX,表示最大的可能的浮点数。
To Top