您當(dāng)前所在位置:
首頁 →
網(wǎng)絡(luò)編程 →
PHP編程 →
一些你不曾知道的PHP函數(shù)和功能
一些你不曾知道的PHP函數(shù)和功能
時(shí)間:2015-06-28 00:00:00
來源:IT貓撲網(wǎng)
作者:網(wǎng)管聯(lián)盟
我要評(píng)論(0)
PHP的真正威力源自于它的函數(shù),但有些PHP函數(shù)并沒有得到充分的利用,也并不是所有人都會(huì)從頭到尾一頁一頁地閱讀手冊(cè)和函數(shù)參考,這里將向您介紹這些實(shí)用的函數(shù)和功能。
3、內(nèi)存使用信息
?
通過偵測(cè)腳本的內(nèi)存使用情況,有利于代碼的優(yōu)化。PHP提供了一個(gè)垃圾收集器和一個(gè)非常復(fù)雜的內(nèi)存管理器。腳本執(zhí)行時(shí)所使用的內(nèi)存量,有升有跌。為了得到當(dāng)前的內(nèi)存使用情況,我們可以使用memory_get_usage()函數(shù)。如果需要獲得任意時(shí)間點(diǎn)的最高內(nèi)存使用量,則可以使用memory_limit()函數(shù)。
- 以下為引用的內(nèi)容: ?
- ?
- echo"Initial:".memory_get_usage()."bytes\n"; ?
- /*prints ?
- Initial:361400bytes ?
- */ ?
- ?
- //let’suseupsomememory ?
- for($i=0;$i<100000;$i++){ ?
- $array[]=md5($i); ?
- } ?
- ?
- //let'sremovehalfofthearray ?
- for($i=0;$i<100000;$i++){ ?
- unset($array[$i]); ?
- } ?
- ?
- echo"Final:".memory_get_usage()."bytes\n"; ?
- /*prints ?
- Final:885912bytes ?
- */ ?
- ?
- echo"Peak:".memory_get_peak_usage()."bytes\n"; ?
- /*prints ?
- Peak:13687072bytes ?
- */?
4、CPU使用信息
?
為此,我們要利用getrusage()函數(shù)。請(qǐng)記住這個(gè)函數(shù)不適用于Windows平臺(tái)。
- 以下為引用的內(nèi)容: ?
- ?
- print_r(getrusage()); ?
- /*prints ?
- Array ?
- ( ?
- [ru_oublock]=>0 ?
- [ru_inblock]=>0 ?
- [ru_msgsnd]=>2 ?
- [ru_msgrcv]=>3 ?
- [ru_maxrss]=>12692 ?
- [ru_ixrss]=>764 ?
- [ru_idrss]=>3864 ?
- [ru_minflt]=>94 ?
- [ru_majflt]=>0 ?
- [ru_nsignals]=>1 ?
- [ru_nvcsw]=>67 ?
- [ru_nivcsw]=>4 ?
- [ru_nswap]=>0 ?
- [ru_utime.tv_usec]=>0 ?
- [ru_utime.tv_sec]=>0 ?
- [ru_stime.tv_usec]=>6269 ?
- [ru_stime.tv_sec]=>0 ?
- )?
這可能看起來有點(diǎn)神秘,除非你已經(jīng)有系統(tǒng)管理員權(quán)限。以下是每個(gè)值的具體說明(你不需要記住這些):
- 以下為引用的內(nèi)容: ?
- ?
- ru_oublock:blockoutputoperations ?
- ru_inblock:blockinputoperations ?
- ru_msgsnd:messagessent ?
- ru_msgrcv:messagesreceived ?
- ru_maxrss:maximumresidentsetsize ?
- ru_ixrss:integralsharedmemorysize ?
- ru_idrss:integralunshareddatasize ?
- ru_minflt:pagereclaims ?
- ru_majflt:pagefaults ?
- ru_nsignals:signalsreceived ?
- ru_nvcsw:voluntarycontextswitches ?
- ru_nivcsw:involuntarycontextswitches ?
- ru_nswap:swaps ?
- ru_utime.tv_usec:usertimeused(microseconds) ?
- ru_utime.tv_sec:usertimeused(seconds) ?
- ru_stime.tv_usec:systemtimeused(microseconds) ?
- ru_stime.tv_sec:systemtimeused(seconds)?
要知道腳本消耗多少CPU功率,我們需要看看‘usertime’和’systemtime’兩個(gè)參數(shù)的值。秒和微秒部分默認(rèn)是單獨(dú)提供的。你可以除以100萬微秒,并加上秒的參數(shù)值,得到一個(gè)十進(jìn)制的總秒數(shù)。讓我們來看一個(gè)例子:
- 以下為引用的內(nèi)容: ?
- ?
- //sleepfor3seconds(non-busy) ?
- sleep(3); ?
- ?
- $data=getrusage(); ?
- echo"Usertime:". ?
- ($data['ru_utime.tv_sec']+ ?
- $data['ru_utime.tv_usec']/1000000); ?
- echo"Systemtime:". ?
- ($data['ru_sti
關(guān)鍵詞標(biāo)簽:PHP函數(shù)
相關(guān)閱讀
熱門文章
plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法
2021年最好用的10款php開發(fā)工具推薦
php利用淘寶IP庫獲取用戶ip地理位置
在 PHP 中使用命令行工具
人氣排行
詳解ucenter原理及第三方應(yīng)用程序整合思路、方法
plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法
PHP中防止SQL注入攻擊
PHP會(huì)話Session的具體使用方法解析
PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的解決辦法
PHP如何清空mySQL數(shù)據(jù)庫
CakePHP程序員必須知道的21條技巧
PHP采集圖片實(shí)例(PHP采集)