php -m windows 下查看php已開啟的拓展
GMP是The GNU MP Bignum Library巷怜,是一個(gè)開源的數(shù)學(xué)運(yùn)算庫(kù)袍祖,它可以用于任意精度的數(shù)學(xué)運(yùn)算挑辆,包括有符號(hào)整數(shù)笨触、有理數(shù)和浮點(diǎn)數(shù)宾尚。它本身并沒有精度限制丙笋,只取決于機(jī)器的硬件情況。
本函數(shù)庫(kù)能處理的數(shù)值范圍只到長(zhǎng)整數(shù)與倍浮點(diǎn)數(shù)的范圍煌贴。若要處理超過(guò)上述范圍的數(shù)值御板,要使用 bc 高精確度函數(shù)庫(kù) 。本函數(shù)庫(kù)定義了圓周率的常量 m_pi 值為 3.14159265358979323846牛郑。
函數(shù):abs: 取得絕對(duì)值怠肋。 acos: 取得反余弦值。 asin: 取得反正弦值淹朋。 atan: 取得反正切值笙各。 atan2: 計(jì)算二數(shù)的反正切值。 base_convert: 轉(zhuǎn)換數(shù)字的進(jìn)位方式础芍。 bindec: 二進(jìn)位轉(zhuǎn)成十進(jìn)位杈抢。 ceil: 計(jì)算大于指定數(shù)的最小整數(shù)。 cos: 余弦計(jì)算仑性。 decbin: 十進(jìn)位轉(zhuǎn)二進(jìn)位惶楼。 dechex: 十進(jìn)位轉(zhuǎn)十六進(jìn)位。 decoct: 十進(jìn)位轉(zhuǎn)八進(jìn)位。 exp: 自然對(duì)數(shù) e 的次方值歼捐。 floor: 計(jì)算小于指定數(shù)的最大整數(shù)何陆。 getrandmax: 隨機(jī)數(shù)的最大值。 hexdec: 十六進(jìn)位轉(zhuǎn)十進(jìn)位窥岩。 log: 自然對(duì)數(shù)值甲献。 log10: 10 基底的對(duì)數(shù)值。 max: 取得最大值颂翼。 min: 取得最小值晃洒。 mt_rand: 取得隨機(jī)數(shù)值。 mt_srand: 配置隨機(jī)數(shù)種子朦乏。 mt_getrandmax: 隨機(jī)數(shù)的最大值球及。 number_format: 格式化數(shù)字字符串。 octdec: 八進(jìn)位轉(zhuǎn)十進(jìn)位呻疹。 pi: 圓周率吃引。 pow: 次方。 rand: 取得隨機(jī)數(shù)值刽锤。 round: 四舍五入镊尺。 sin: 正弦計(jì)算。 sqrt: 開平方根并思。 srand: 配置隨機(jī)數(shù)種子庐氮。 tan: 正切計(jì)算。
函數(shù)舉例:abs 取得絕對(duì)值宋彼。 語(yǔ)法: mixed abs(mixed number); 返回值: 混合類型資料 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 返回參數(shù) number 的絕對(duì)值弄砍。若 number 是倍精確浮點(diǎn)數(shù),則返回值也是倍浮點(diǎn)數(shù)输涕;其它的類型則返回類型為整數(shù)音婶。
acos 取得反余弦值。 語(yǔ)法: float acos(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 返回參數(shù) arg 的反余弦值 (arc cosine)莱坎。 參考: asin() atan()
asin 取得反正弦值衣式。 語(yǔ)法: float asin(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 返回參數(shù) arg 的反正弦值 (arc sine)。 參考: acos() atan()
atan 取得反正切值型奥。 語(yǔ)法: float atan(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 返回參數(shù) arg 的反正切值 (arc tangent)瞳收。 參考: acos() asin()
atan2 計(jì)算二數(shù)的反正切值。 語(yǔ)法: float atan2(float y, float x); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)用來(lái)計(jì)算二數(shù) y厢汹、x 的反正切值,計(jì)算結(jié)果與 atan() 計(jì)算 y/x 類似谐宙,但本函數(shù)會(huì)因 x烫葬、y 的正負(fù)號(hào)影響結(jié)果。而本函數(shù)的返回值必落在正負(fù)的圓周率間 (-pi <= (值) ?= pi) 參考 acos() atan() asin()
base_convert 轉(zhuǎn)換數(shù)字的進(jìn)位方式。 語(yǔ)法: string base_convert(string number, int frombase, int tobase); 返回值: 字符串 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)將數(shù)字字符串 number 從以 frombase 進(jìn)位轉(zhuǎn)換到以 tobase 進(jìn)位搭综。本式能夠處理的由以二進(jìn)位到以三十六進(jìn)位之間的進(jìn)位方式垢箕。在十進(jìn)位之前都是以數(shù)字表示,而在超過(guò)十進(jìn)位之后就用英文字母表示兑巾。例如十六進(jìn)位個(gè)位數(shù)依序?yàn)?123456789abcdef条获,10 的順序是第十七個(gè),這時(shí)才進(jìn)一位蒋歌。而三十六進(jìn)位 a 是第十個(gè)帅掘、b 為第十一個(gè)、z 為第三十六個(gè)堂油、10 是第三十七個(gè)修档,這時(shí)才進(jìn)位。 使用范例 本例將十六進(jìn)位字符串轉(zhuǎn)成二進(jìn)位字符串 <?php $binary = base_convert($hexadecimal, 16, 2); echo "十六進(jìn)位字符串"$hexadecimal"轉(zhuǎn)成二進(jìn)位為"$binary"府框。"; ?>
bindec 二進(jìn)位轉(zhuǎn)成十進(jìn)位吱窝。 語(yǔ)法: int bindec(string binary_string); 返回值: 整數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)將二進(jìn)位數(shù)字字符串轉(zhuǎn)成十進(jìn)位的整數(shù)。由于 php 使用 32 位有正負(fù)號(hào)整數(shù)計(jì)算迫靖,能處理的最大十進(jìn)位數(shù)字為 2147483647院峡,也就是二進(jìn)位數(shù)字的 1111111111111111111111111111111 (31 個(gè) 1)。 參考: decbin()
ceil 計(jì)算大于指定數(shù)的最小整數(shù)系宜。 語(yǔ)法: int ceil(float number); 返回值: 整數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)用來(lái)計(jì)算比浮點(diǎn)參數(shù) number 大的最小整數(shù)照激。 使用范例 本例返回值為 4。 <?php $nextint=ceil(3.14); echo $nextint; ?> 參考: floor() round()
cos 余弦計(jì)算蜈首。 語(yǔ)法: float cos(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算參數(shù) arg 的余弦值 (cosine)实抡。 參考: sin() tan()
decbin 十進(jìn)位轉(zhuǎn)二進(jìn)位。 語(yǔ)法: string decbin(int number); 返回值: 字符串 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)將十進(jìn)位數(shù)字轉(zhuǎn)成二進(jìn)位字符串欢策。由于 php 使用 32 位有正負(fù)號(hào)整數(shù)計(jì)算吆寨,能處理的最大十進(jìn)位數(shù)字為 2147483647,也就是二進(jìn)位數(shù)字的 1111111111111111111111111111111 (31 個(gè) 1)踩寇。 參考: bindec()
dechex 十進(jìn)位轉(zhuǎn)十六進(jìn)位啄清。 語(yǔ)法: string dechex(int number); 返回值: 字符串 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)將十進(jìn)位數(shù)字轉(zhuǎn)成十六進(jìn)位字符串。由于 php 使用 32 位有正負(fù)號(hào)整數(shù)計(jì)算俺孙,能處理的最大十進(jìn)位數(shù)字為 2147483647辣卒,也就是十六進(jìn)位數(shù)字 7fffffff莹桅。 參考: hexdec()
decoct 十進(jìn)位轉(zhuǎn)八進(jìn)位灾杰。 語(yǔ)法: string decoct(int number); 返回值: 字符串 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)將十進(jìn)位數(shù)字轉(zhuǎn)成八進(jìn)位字符串。由于 php 使用 32 位有正負(fù)號(hào)整數(shù)計(jì)算睁本,能處理的最大十進(jìn)位數(shù)字為 2147483647场靴,也就是八進(jìn)位數(shù)字 17777777777啡莉。 參考: octdec()
exp 自然對(duì)數(shù) e 的次方值港准。 語(yǔ)法: float exp(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算自然對(duì)數(shù) (natural logarithm) 的 arg 次方值。 參考: pow() log()
floor 計(jì)算小于指定數(shù)的最大整數(shù)咧欣。 語(yǔ)法: int floor(float number); 返回值: 整數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)用來(lái)計(jì)算比浮點(diǎn)參數(shù) number 小的最大整數(shù)浅缸。 使用范例 本例返回值為 3。 <?php $lastint=floor(3.14); echo $lastint; ?> 參考: ceil() round()
getrandmax 亂數(shù)的最大值魄咕。 語(yǔ)法: int getrandmax(void); 返回值: 整數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算亂數(shù)函數(shù) rand() 可能取得的取得的最大亂數(shù)值衩椒。本函數(shù)不需參數(shù)。 參考: rand() srand() mt_rand() mt_srand() mt_getrandmax()
hexdec 十六進(jìn)位轉(zhuǎn)十進(jìn)位哮兰。 語(yǔ)法: int hexdec(string hex_string); 返回值: 整數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)將十六進(jìn)位字符串轉(zhuǎn)成十進(jìn)位數(shù)字毛萌。由于 php 使用 32 位有正負(fù)號(hào)整數(shù)計(jì)算,能處理的最大十六進(jìn)位數(shù)字為 7fffffff奠蹬,也就是十進(jìn)位數(shù)字的 2147483647朝聋。 參考: dechex()
log 自然對(duì)數(shù)值。 語(yǔ)法: float log(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算參數(shù) arg 的自然對(duì)數(shù) (natural logarithm) 值囤躁。
log10 10 基底的對(duì)數(shù)值冀痕。 語(yǔ)法: float log10(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算參數(shù) arg 的 10 基底對(duì)數(shù)值。
max 取得最大值狸演。 語(yǔ)法: mixed max(mixed arg1, mixed arg2 .... mixed argn); 返回值: 混合類型資料 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算參數(shù)間的最大值言蛇。若第一個(gè)參數(shù)是數(shù)字?jǐn)?shù)組,則會(huì)找出該數(shù)組的最大數(shù)字宵距。若第一個(gè)參數(shù)非數(shù)組腊尚,則需二個(gè)以上的參數(shù)。這些數(shù)字可以是整數(shù)满哪、倍精確數(shù)或數(shù)字字符串的類型婿斥。參數(shù)的數(shù)目不限,視用戶的需求而定哨鸭。在計(jì)算時(shí)民宿,只要有一個(gè)參數(shù)是倍精確數(shù),本函數(shù)會(huì)將所有的參數(shù)都轉(zhuǎn)成倍精確數(shù)像鸡,并返回倍精確數(shù)活鹰。若參數(shù)只有整數(shù)及數(shù)字字符串,則會(huì)將所有的參數(shù)轉(zhuǎn)換成整數(shù)只估,并返回整數(shù)志群。 參考: min()
min 取得最小值。 語(yǔ)法: mixed min(mixed arg1, mixed arg2 .... mixed argn); 返回值: 混合類型資料 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算參數(shù)間的最小值蛔钙。若第一個(gè)參數(shù)是數(shù)字?jǐn)?shù)組锌云,則會(huì)找出該數(shù)組的最小數(shù)字。若第一個(gè)參數(shù)非數(shù)組吁脱,則需二個(gè)以上的參數(shù)宾抓。這些數(shù)字可以是整數(shù)子漩、倍精確數(shù)或數(shù)字字符串的類型豫喧。參數(shù)的數(shù)目不限石洗,視用戶的需求而定。在計(jì)算時(shí)紧显,只要有一個(gè)參數(shù)是倍精確數(shù)讲衫,本函數(shù)會(huì)將所有的參數(shù)都轉(zhuǎn)成倍精確數(shù),并返回倍精確數(shù)孵班。若參數(shù)只有整數(shù)及數(shù)字字符串涉兽,則會(huì)將所有的參數(shù)轉(zhuǎn)換成整數(shù),并返回整數(shù)篙程。 參考: max()
mt_rand 取得亂數(shù)值枷畏。 語(yǔ)法: int mt_rand([int min], [int max]); 返回值: 整數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)不使用一般常用的 libc 來(lái)計(jì)算亂數(shù)值,而是使用計(jì)算速度至少快四倍的馬其賽特旋轉(zhuǎn) (mersenne twister) 演算法來(lái)計(jì)算亂數(shù)值虱饿。有關(guān)馬特賽特旋轉(zhuǎn)演算法可在松本真的 http://www.math.keio.ac.jp/~matumoto/emt.html 找到更多的相關(guān)信息拥诡,最佳化的原始程序則在 http://www.scp.syr.edu/~marc/hawk/twister.html。若沒有指定亂數(shù)的最大及最小范圍氮发,本函數(shù)會(huì)自動(dòng)的從 0 到 rand_max 中取一個(gè)亂數(shù)渴肉。若有指定 min 及 max 的參數(shù),則從指定參數(shù)中取一個(gè)數(shù)字爽冕,例如 mt_rand(38, 49) 則會(huì)從 38 到 49 之間取一個(gè)亂數(shù)值仇祭。治募?注意的是為使亂數(shù)的亂度最大,每次在取亂數(shù)之前最好使用 mt_srand() 以配置新的亂數(shù)種子颈畸。 參考: rand() srand() getrandmax() mt_srand() mt_getrandmax()
mt_srand 配置亂數(shù)種子乌奇。 語(yǔ)法: void mt_srand(int seed); 返回值: 無(wú) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)傳入?yún)?shù) seed 后,配置亂數(shù)的種子眯娱。治募?注意的是參數(shù) seed 值最好也是隨機(jī)出現(xiàn)的數(shù)字礁苗,例如利用加入時(shí)間做為變量的來(lái)源就是不錯(cuò)的方法,或者開發(fā)其它的硬體周邊界面可取得更好的亂數(shù)困乒。 使用范例 本例加入時(shí)間的因素寂屏,以執(zhí)行時(shí)的百萬(wàn)分之一秒當(dāng)亂數(shù)種子 <?php mt_srand((double)microtime()1000000); $randval = mt_rand(); echo $randval; ?> 參考: rand() srand() getrandmax() mt_rand() mt_getrandmax()
mt_getrandmax 亂數(shù)的最大值。 語(yǔ)法: int mt_getrandmax(void); 返回值: 整數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算亂數(shù)函數(shù) mt_rand() 可能取得的取得的最大亂數(shù)值娜搂。本函數(shù)不需參數(shù)迁霎。 參考: rand() srand() getrandmax() mt_srand() mt_rand()
number_format 格式化數(shù)字字符串。 語(yǔ)法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]); 返回值: 字符串 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)用來(lái)將浮點(diǎn)參數(shù) number 格式化百宇。若沒加參數(shù) decimals 則返回的字符串只要整數(shù)部份考廉,加了此參數(shù)才依參數(shù)指定的小數(shù)點(diǎn)位數(shù)返回。參數(shù) dec_point 表示小數(shù)點(diǎn)的表示方式方法携御,默認(rèn)值是 "."昌粤,若需要轉(zhuǎn)換成其它的小數(shù)點(diǎn)就可以在這個(gè)參數(shù)改掉既绕。參數(shù) thousands_sep 為整數(shù)部份每三位的分隔符號(hào),默認(rèn)值是 ","涮坐。本函數(shù)最特別的地方就是參數(shù)數(shù)目凄贩,最少要有一個(gè),也就是欲格式化的字符串袱讹;也可以有二個(gè)或者四個(gè)參數(shù)疲扎,但不能用三個(gè)參數(shù)。治募?注意的是指定小數(shù)點(diǎn)的位數(shù)之后的數(shù)字直接舍棄捷雕,沒有四舍五入的情形椒丧。 使用范例 <? $short_pi = "3.14159"; $my_pi = number_format($short_pi, 2); echo $my_pi."\n"; // 3.14 $foo = 850017.9021; $new_foo = number_format($foo, 3, ".", " "); echo $new_foo."\n"; // 850 017.902 ?>
octdec 八進(jìn)位轉(zhuǎn)十進(jìn)位。 語(yǔ)法: string decoct(int number); 返回值: 字符串 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)將八進(jìn)位字符串轉(zhuǎn)成十進(jìn)位數(shù)字救巷。由于 php 使用 32 位有正負(fù)號(hào)整數(shù)計(jì)算壶熏,能處理最大的八進(jìn)位數(shù)字為 17777777777,也就是十進(jìn)位數(shù)字的 2147483647浦译。 參考: decoct()
pi 圓周率棒假。 語(yǔ)法: double pi(void); 返回值: 倍精確數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)返回圓周率。不需輸入?yún)?shù)管怠。
pow 次方淆衷。 語(yǔ)法: float pow(float base, float exp); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算次方值。參數(shù) base 為基底渤弛,exp 為冪數(shù)祝拯。 使用范例 <?php print(pow(2,3)); // 8 print(pow(5,4)); // 625 ?> 參考: log10() exp()
rand 取得隨機(jī)數(shù)值。 語(yǔ)法: int rand([int min], [int max]); 返回值: 整數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)用來(lái)取得隨機(jī)數(shù)值她肯。若沒有指定隨機(jī)數(shù)的最大及最小范圍佳头,本函數(shù)會(huì)自動(dòng)的從 0 到 rand_max 中取一個(gè)隨機(jī)數(shù)。若有指定 min 及 max 的參數(shù)晴氨,則從指定參數(shù)中取一個(gè)數(shù)字康嘉。例如 rand(38, 49) 則會(huì)從 38 到 49 之間取一個(gè)隨機(jī)數(shù)值,unix 系統(tǒng)包含 49籽前、win32 系統(tǒng)不包含 49 (zkimmel@earthlink.net 10-may-1999)亭珍。值得注意的是為使隨機(jī)數(shù)的亂度最大,每次在取隨機(jī)數(shù)之前最好使用 srand() 以配置新的隨機(jī)數(shù)種子枝哄。 參考: srand() getrandmax() mt_rand() mt_srand() mt_getrandmax()
round 四舍五入肄梨。 語(yǔ)法: double round(double val); 返回值: 倍精確數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)用來(lái)將數(shù)字小數(shù)點(diǎn)后四舍五入。 使用范例 <?php $foo1 = round(3.4); $foo2 = round(3.5); $foo3 = round(3.6); echo "round(3.4): ".$foo1."
\n"; echo "round(3.5): ".$foo2."
\n"; echo "round(3.6): ".$foo3; ?>
參考: ceil() floor()
sin 正弦計(jì)算挠锥。 語(yǔ)法: float sin(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算參數(shù) arg 的正弦值 (sine)众羡。 參考: cos() tan()
sqrt 開平方根。 語(yǔ)法: float sqrt(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)將參數(shù) arg 開平方根蓖租。
srand 配置隨機(jī)數(shù)種子粱侣。 語(yǔ)法: void srand(int seed); 返回值: 無(wú) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)傳入?yún)?shù) seed 后羊壹,配置隨機(jī)數(shù)的種子。值得注意的是參數(shù) seed 值最好也是隨機(jī)出現(xiàn)的數(shù)字齐婴,例如利用加入時(shí)間做為變量的來(lái)源就是不錯(cuò)的方法油猫,或者開發(fā)其它的硬體周邊界面可取得更好的隨機(jī)數(shù)。 使用范例 本例加入時(shí)間的因素尔店,以執(zhí)行時(shí)的百萬(wàn)分之一秒當(dāng)隨機(jī)數(shù)種子 <?php srand((double)microtime()1000000); $randval = rand(); echo $randval; ?> 參考: rand() getrandmax() mt_srand() mt_rand() mt_getrandmax()
tan 正切計(jì)算眨攘。 語(yǔ)法: float tan(float arg); 返回值: 浮點(diǎn)數(shù) 函數(shù)種類: 數(shù)學(xué)運(yùn)算 內(nèi)容說(shuō)明: 本函數(shù)計(jì)算參數(shù) arg 的正切值 (tangent)。 參考: sin() cos()