-
您當(dāng)前所在位置:首頁(yè) → 網(wǎng)絡(luò)編程 → PHP編程 → 一些你不曾知道的PHP函數(shù)和功能
一些你不曾知道的PHP函數(shù)和功能
時(shí)間:2015/6/28來(lái)源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)
-
php的真正威力源自于它的函數(shù),但有些PHP函數(shù)并沒(méi)有得到充分的利用,也并不是所有人都會(huì)從頭到尾一頁(yè)一頁(yè)地閱讀手冊(cè)和函數(shù)參考,這里將向您介紹這些實(shí)用的函數(shù)和功能。
3、內(nèi)存使用信息
通過(guò)偵測(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
- )
這可能看起來(lái)有點(diǎn)神秘,除非你已經(jīng)有系統(tǒng)管理員權(quán)限。以下是每個(gè)值的具體說(shuō)明(你不需要記住這些):
- 以下為引用的內(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萬(wàn)微秒,并加上秒的參數(shù)值,得到一個(gè)十進(jìn)制的總秒數(shù)。讓我們來(lái)看一個(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)閱讀
-
熱門(mén)文章
plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql deve2021年最好用的10款php開(kāi)發(fā)工具推薦在 PHP 中使用命令行工具php應(yīng)用程序安全防范技術(shù)研究
人氣排行
詳解ucenter原理及第三方應(yīng)用程序整合思路、方法PHP中防止SQL注入攻擊PHP會(huì)話(huà)Session的具體使用方法解析PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的解決辦法CakePHP程序員必須知道的21條技巧PHP如何清空mySQL數(shù)據(jù)庫(kù)PHP采集圖片實(shí)例(PHP采集)plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql developer連接數(shù)據(jù)庫(kù)方法