IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(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ù)。

  1. 以下為引用的內(nèi)容: ?
  2. ?
  3. echo"Initial:".memory_get_usage()."bytes\n"; ?
  4. /*prints ?
  5. Initial:361400bytes ?
  6. */ ?
  7. ?
  8. //let’suseupsomememory ?
  9. for($i=0;$i<100000;$i++){ ?
  10. $array[]=md5($i); ?
  11. } ?
  12. ?
  13. //let'sremovehalfofthearray ?
  14. for($i=0;$i<100000;$i++){ ?
  15. unset($array[$i]); ?
  16. } ?
  17. ?
  18. echo"Final:".memory_get_usage()."bytes\n"; ?
  19. /*prints ?
  20. Final:885912bytes ?
  21. */ ?
  22. ?
  23. echo"Peak:".memory_get_peak_usage()."bytes\n"; ?
  24. /*prints ?
  25. Peak:13687072bytes ?
  26. */?

4、CPU使用信息

?

  為此,我們要利用getrusage()函數(shù)。請(qǐng)記住這個(gè)函數(shù)不適用于Windows平臺(tái)。

  1. 以下為引用的內(nèi)容: ?
  2. ?
  3. print_r(getrusage()); ?
  4. /*prints ?
  5. Array ?
  6. ( ?
  7. [ru_oublock]=>0 ?
  8. [ru_inblock]=>0 ?
  9. [ru_msgsnd]=>2 ?
  10. [ru_msgrcv]=>3 ?
  11. [ru_maxrss]=>12692 ?
  12. [ru_ixrss]=>764 ?
  13. [ru_idrss]=>3864 ?
  14. [ru_minflt]=>94 ?
  15. [ru_majflt]=>0 ?
  16. [ru_nsignals]=>1 ?
  17. [ru_nvcsw]=>67 ?
  18. [ru_nivcsw]=>4 ?
  19. [ru_nswap]=>0 ?
  20. [ru_utime.tv_usec]=>0 ?
  21. [ru_utime.tv_sec]=>0 ?
  22. [ru_stime.tv_usec]=>6269 ?
  23. [ru_stime.tv_sec]=>0 ?
  24. )?

  這可能看起來有點(diǎn)神秘,除非你已經(jīng)有系統(tǒng)管理員權(quán)限。以下是每個(gè)值的具體說明(你不需要記住這些):

  1. 以下為引用的內(nèi)容: ?
  2. ?
  3. ru_oublock:blockoutputoperations ?
  4. ru_inblock:blockinputoperations ?
  5. ru_msgsnd:messagessent ?
  6. ru_msgrcv:messagesreceived ?
  7. ru_maxrss:maximumresidentsetsize ?
  8. ru_ixrss:integralsharedmemorysize ?
  9. ru_idrss:integralunshareddatasize ?
  10. ru_minflt:pagereclaims ?
  11. ru_majflt:pagefaults ?
  12. ru_nsignals:signalsreceived ?
  13. ru_nvcsw:voluntarycontextswitches ?
  14. ru_nivcsw:involuntarycontextswitches ?
  15. ru_nswap:swaps ?
  16. ru_utime.tv_usec:usertimeused(microseconds) ?
  17. ru_utime.tv_sec:usertimeused(seconds) ?
  18. ru_stime.tv_usec:systemtimeused(microseconds) ?
  19. ru_stime.tv_sec:systemtimeused(seconds)?

  要知道腳本消耗多少CPU功率,我們需要看看‘usertime’和’systemtime’兩個(gè)參數(shù)的值。秒和微秒部分默認(rèn)是單獨(dú)提供的。你可以除以100萬微秒,并加上秒的參數(shù)值,得到一個(gè)十進(jìn)制的總秒數(shù)。讓我們來看一個(gè)例子:

  1. 以下為引用的內(nèi)容: ?
  2. ?
  3. //sleepfor3seconds(non-busy) ?
  4. sleep(3); ?
  5. ?
  6. $data=getrusage(); ?
  7. echo"Usertime:". ?
  8. ($data['ru_utime.tv_sec']+ ?
  9. $data['ru_utime.tv_usec']/1000000); ?
  10. echo"Systemtime:". ?
  11. ($data['ru_sti

    關(guān)鍵詞標(biāo)簽:PHP函數(shù)

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 2021年最好用的10款php開發(fā)工具推薦 2021年最好用的10款php開發(fā)工具推薦 php利用淘寶IP庫獲取用戶ip地理位置 php利用淘寶IP庫獲取用戶ip地理位置 在 PHP 中使用命令行工具 在 PHP 中使用命令行工具

相關(guān)下載

    人氣排行 詳解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采集)