php 效率總結

2021-05-11 11:32:26 字數 2854 閱讀 6175

第一部分

1,在函式中,傳遞陣列時

使用 return 比使用 global 要高效

比如function userloginfo($usertemp)

$login=userloginfo($userdb);

比function userloginfo($usertemp)

userloginfo($userdb);

要高效2,(這個

**

用於得到程式目錄對應的**,推薦使用)

這段**比

要高效3,在迴圈中判斷時,數值判斷使用恒等要比等於高效

$a=2;$b=2;

比如if($a==$b)$c=$a;

比if($a===$b)$c=$a;

高效4,mysql 查詢時盡量使用where in 少用 limit

limit查多記錄的前幾條, 速度很快, 但是查詢最面幾條就會慢

使用in .在查詢連續性記錄,非常快, 非連續性記錄第一次執行會稍微慢一點,但是之後將比較快!

5,nt伺服器資料操作穩定性不及unix/linux

6,輸出前使用盡量使用 ob_start(); 可以加快輸出速度,適用nt或nuli/linux,對unlix類伺服器 如果使用 ob_start('ob_gzhandler');輸出效率將更高

7,判斷的時候盡量使用if($a==他的值) 否定的時候盡量使用if(empty($a)),因為這樣程式執行更快速

8,使用不等時 != 與 <> 效率相當

9,個人經驗得 使用 $a="11111111111111"; 的效率和 $a='11111111111111'; 相當.並不象書本說的相差很大

10,使用規範的sql語句, 會有利於

mysql

的解析11,使用

if($online)

cookie將馬上生效

使用if($online)

setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);

cookie需要再重新整理一次才能生效

12,使用

$handle=fopen($filename,wb);

flock($handle,lock_sh);

$filedata=fread($handle,filesize($filename));

fclose($handle);

比file($filename);

無論在速度還是穩定上都要優秀

13,截斷字串優化函式(可避免?字元出現)

function substrs($content,$length)

$num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);

$content.=' ...';

}return $content;

}比如$newarray[1]=substrs($newarray[1],25);

14,程式中遮蔽大小寫

for ($asc=65;$asc<=90;$asc++)

}15,不使用 file();和不使用 fget();(不穩定或速度慢) 取一陣列函式

function openfile($filename,$method="rb")

return $filedb;

}//這個函式雖然**比較多,不過在速度和穩定性上優勢很大!

第二部分

1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情況下,盡量用 file_get_contents,因為他的效率高得多!但是要注意file_get_contents在開啟乙個url檔案時候的php版本問題;

2.盡量的少進行檔案操作,雖然php的檔案操作效率也不低的;

3.優化select sql語句,在可能的情況下盡量少的進行insert、update操作(在update上,我被惡批過);

4.盡可能的使用php內部函式(但是我卻為了找個php裡面不存在的函式,浪費了本可以寫出乙個自定義函式的時間,經驗問題啊!);

5.迴圈內部不要宣告變數,尤其是大變數:物件(這好像不只是php裡面要注意的問題吧?);

6.多維陣列盡量不要迴圈巢狀賦值;

7.在可以用php內部字串操作函式的情況下,不要用正規表示式;

8.foreach效率更高,盡量用foreach代替while和for迴圈;

9.用單引號替代雙引號引用字串;

10.「用i+=1代替i=i+1。符合c/c++的習慣,效率還高」;

11.對global變數,應該用完就unset()掉

12.在多重巢狀迴圈中,如有可能,應當將最長的迴圈放在內層,最短迴圈放在外層,這樣就可以減少cpu跨切迴圈層的次數,從而優化程式效能。

提高PHP程式設計效率

1,用單引號代替雙引號來包含字串,這樣做會更快一些。因為php會在雙引號包圍的字串中搜尋變數,單引號則 不會 2,如果能將類的方法定義成static,就盡量定義成static,它的速度會提公升將近4倍 延伸 靜態呼叫靜態 self xx 或者 類名 xx 靜態呼叫動態self 動態 3,row id...

php的程式設計效率

1 如果能將類的方法定義成static,就盡量定義成static,它的速度會提公升將近4倍。2 row id 的速度是 row id 的7倍。3 echo 比 print 快,並且使用echo的多重引數 譯註 指用逗號而不是句點 代替字串連線,比如echo str1,str2。4 在執行for迴圈之...

PHP 遞迴效率分析

而且是差了3倍的效率。所以,php中的遞迴一定要小心的對待。最近寫了乙個快速排序的演算法,發現php中的遞迴效率不能一刀切,在各種不同的伺服器中,可能會表現不一樣。複製 如下 function qsort arr 採用遞迴演算法的快速排序。param array arr 要排序的陣列 param i...