php_ref_math
PHP 数学函数和常量
Section titled “PHP 数学函数和常量”PHP 数学介绍
Section titled “PHP 数学介绍”PHP 提供了一整套用于执行数学运算的函数,范围从基本算术、四舍五入到三角函数和对数计算。
这些函数操作 PHP 的标准数值类型:int(整数)和 float(浮点数,也称为双精度数)。
核心数学函数和常量是内置于 PHP 中的。使用它们不需要单独安装或启用扩展。
常用 PHP 数学函数
Section titled “常用 PHP 数学函数”| 函数 | 描述 |
|---|---|
abs() | 返回一个数的绝对值(非负值)。 |
ceil() | 将一个数向上舍入到最接近的整数。 |
floor() | 将一个数向下舍入到最接近的整数。 |
round() | 将浮点数舍入到指定的小数位数(如果省略精度,则舍入到最接近的整数)。支持不同的舍入模式(例如,PHP_ROUND_HALF_UP,PHP_ROUND_HALF_DOWN)。 |
min() | 从参数列表或数组中返回最低值。 |
max() | 从参数列表或数组中返回最高值。 |
rand() / mt_rand() | 生成一个伪随机整数。通常优先使用 mt_rand()(Mersenne Twister)以获得更好的随机性和性能。 |
srand() / mt_srand() | 为随机数生成器设置种子。通常不需要,除非您需要特定的重复序列。 |
getrandmax() / mt_getrandmax() | 分别返回 rand() 或 mt_rand() 可能返回的最大值。 |
sqrt() | 返回一个数的平方根。 |
pow() | 返回底数的指定指数次幂(例如,pow(2, 8) 是 2 的 8 次幂)。 |
exp() | 计算 e(欧拉数)的指数。 |
log() | 返回一个数的自然对数(以 e 为底)。 |
log10() | 返回一个数的以 10 为底的对数。 |
pi() | 返回圆周率 Pi (π) 的近似值。 |
is_nan() | 检查一个值是否是“非数字”(通常由无效计算产生)。 |
is_finite() / is_infinite() | 检查一个值是有限的还是无限的。 |
intdiv() | (PHP 7+) 执行整数除法,只返回商的整数部分。 |
fmod() | 返回两个数相除的浮点余数(模)。 |
base_convert() | 在任意进制(例如,二进制、八进制、十进制、十六进制)之间转换数字。 |
bindec(), octdec(), hexdec() | 将二进制、八进制或十六进制字符串转换为十进制整数。 |
decbin(), decoct(), dechex() | 将十进制整数转换为二进制、八进制或十六进制字符串。 |
PHP 包含标准三角函数,如 sin()、cos()、tan()、asin()、acos()、atan()、atan2(),以及它们的双曲对应函数(sinh()、cosh()、tanh() 等)。它还提供了度/弧度转换函数(deg2rad()、rad2deg())。注意,这些函数通常使用弧度。
预定义数学常量
Section titled “预定义数学常量”PHP 提供了几个用于数学值的预定义常量。
| 常量 | 描述 |
|---|---|
M_PI | Pi 的值 (≈ 3.14159) |
M_E | 欧拉数 e 的值 (≈ 2.71828) |
M_PI_2 | Pi 除以 2 |
M_PI_4 | Pi 除以 4 |
M_1_PI | 1 除以 Pi |
M_2_PI | 2 除以 Pi |
M_SQRTPI | Pi 的平方根 |
M_2_SQRTPI | 2 除以 Pi 的平方根 |
M_LN2 | 2 的自然对数 |
M_LN10 | 10 的自然对数 |
M_LOG2E | e 的以 2 为底的对数 |
M_LOG10E | e 的以 10 为底的对数 |
M_SQRT2 | 2 的平方根 |
M_SQRT3 | 3 的平方根 |
M_SQRT1_2 | 1/2 的平方根 |
INF | 表示无穷大(浮点值) |
NAN | 表示“非数字”(浮点值) |
PHP_INT_MAX | 当前 PHP 构建支持的最大整数。 |
PHP_INT_MIN | 当前 PHP 构建支持的最小整数。 |
PHP_INT_SIZE | 整数的大小(字节)。 |
PHP_FLOAT_DIG | 可以舍入到浮点数并返回而不损失精度的十进制位数。 |
PHP_FLOAT_EPSILON | 最小的可表示正数 x,使得 x + 1.0 != 1.0。 |
PHP_FLOAT_MIN | 最小的可表示正浮点数。 |
PHP_FLOAT_MAX | 最大的可表示浮点数。 |
PHP_ROUND_HALF_UP | round() 的舍入模式常量:舍去一半时向上舍入(远离零)。 |
PHP_ROUND_HALF_DOWN | round() 的舍入模式常量:舍去一半时向下舍入(趋向零)。 |
PHP_ROUND_HALF_EVEN | round() 的舍入模式常量:舍去一半时舍入到最接近的偶数。 |
PHP_ROUND_HALF_ODD | round() 的舍入模式常量:舍去一半时舍入到最接近的奇数。 |
有关完整和最新的列表,请始终参阅官方 PHP 文档。