PHP 數學函數完整參考
簡介
PHP 內建的數學函數可處理整數與浮點數範圍內的數值運算,涵蓋三角函數、對數、指數、進制轉換、隨機數、取整、絕對值等常用運算。所有函數均為核心內建,無需安裝。
常用函數分類速查
| 函數 | 說明 |
abs() | 返回絕對值 |
ceil() | 向上取整 |
floor() | 向下取整 |
round() | 四捨五入(支援精度與模式) |
min() / max() | 返回陣列或多值中的最小/最大值 |
sqrt() | 平方根 |
pow() | 冪運算 x^y |
exp() | e 的 x 次方 |
log() | 自然對數 |
log10() | 以 10 為底對數 |
sin() / cos() / tan() | 正弦/餘弦/正切(弧度制) |
asin() / acos() / atan() | 反正弦/反餘弦/反正切 |
atan2(y, x) | 返回 y/x 的反正切(考慮象限) |
deg2rad() / rad2deg() | 角度與弧度互轉 |
bindec() / decbin() | 二進制與十進制互轉 |
dechex() / hexdec() | 十六進制與十進制互轉 |
decoct() / octdec() | 八進制與十進制互轉 |
base_convert() | 任意進制間轉換 |
rand() / mt_rand() | 產生隨機整數(mt_ 為梅森旋轉演算法,速度更快) |
srand() / mt_srand() | 播種隨機數生成器 |
getrandmax() / mt_getrandmax() | 返回隨機數最大可能值 |
lcg_value() | 返回 0~1 間的偽隨機浮點數 |
fmod(x, y) | 浮點數取模 |
hypot(x, y) | 計算直角三角形斜邊長度 |
is_finite() / is_infinite() / is_nan() | 判斷有限/無限/非數值 |
pi() | 返回圓周率 π |
預定義數學常數
| 常數 | 值(約) | 說明 | PHP 版本 |
| M_PI | 3.1415926535898 | π | 4 |
| M_PI_2 | 1.5707963267949 | π/2 | 4 |
| M_PI_4 | 0.78539816339745 | π/4 | 4 |
| M_1_PI | 0.31830988618379 | 1/π | 4 |
| M_2_PI | 0.63661977236758 | 2/π | 4 |
| M_SQRTPI | 1.7724538509055 | √π | 5.2 |
| M_2_SQRTPI | 1.1283791670955 | 2/√π | 4 |
| M_SQRT2 | 1.4142135623731 | √2 | 4 |
| M_SQRT3 | 1.7320508075689 | √3 | 5.2 |
| M_SQRT1_2 | 0.70710678118655 | 1/√2 | 4 |
| M_E | 2.718281828459 | e | 4 |
| M_EULER | 0.57721566490153 | 歐拉常數 | 4 |
| M_LN2 | 0.69314718055995 | ln(2) | 4 |
| M_LN10 | 2.302585092994 | ln(10) | 4 |
| M_LOG2E | 1.442695040889 | log2(e) | 4 |
| M_LOG10E | 0.43429448190325 | log10(e) | 4 |
| M_LNPI | 1.1447298858494 | ln(π) | 5.2 |
| INF | INF | 無限大 | 4 |
| NAN | NAN | 非數值 | 4 |
進階取整模式常數 (PHP 5.3+)
PHP_ROUND_HALF_UP (1) — .5 向上
PHP_ROUND_HALF_DOWN (2) — .5 向下
PHP_ROUND_HALF_EVEN (3) — .5 取偶數(銀行家取整)
PHP_ROUND_HALF_ODD (4) — .5 取奇數
實用範例
<?php
// 產生 10~100 間的隨機整數
echo mt_rand(10, 100) . '<br>';
// 計算斜邊
echo hypot(3, 4) . '<br>'; // 5
// 進制轉換
echo base_convert('FF', 16, 2) . '<br>'; // 11111111
// 使用預定義常數
echo M_PI . '<br>';
?>