PHP效能優化

2022-08-23 10:42:10 字數 3146 閱讀 8646

php效能優化小技巧

:

1. foreach效率更高,盡量用

foreach

代替while

和for

迴圈。

2. 迴圈內部不要宣告變數,尤其是物件這樣的變數。

3. 在多重巢狀迴圈中,如有可能,應當將最長的迴圈放在內層,最短迴圈放在外層,從而減少

cpu跨迴圈層的次數,優化程式效能。

4. 用單引號替代雙引號引用字串以實現

php效能優化。

5. 用

i+=1

代替i=i+1

。符合c/c++

的習慣,效率還高。

6. 優化

select sql

語句,在可能的情況下盡量少的進行

insert

、update

操作,達到

php效能優化的目的。

7. 盡量的少進行檔案操作,雖然

php的檔案操作效率也不低的。

8. 盡可能的使用

php內部函式。

9. 在可以用

php內部字串操作函式的情況下,不要用正規表示式。

10. 在可以用

file_get_contents

替代file

、fopen

、feof

、fgets

等系列方法的情況下,盡量用

file_get_contents

,因為它的效率高得多。但是要注意

file_get_contents

在開啟乙個

url檔案時候的

php版本問題。

11.盡量靜態化

如果乙個方法能被靜態,那就宣告它為靜態的,速度可提高1/4,甚至我測試的時候,這個提高了近三倍。

當然了,這個測試方法需要在十萬級以上次執行,效果才明顯。

其實靜態方法和非靜態方法的效率主要區別在記憶體:靜態方法在程式開始時生成記憶體,例項方法(非靜態方法)在程式執行中生成記憶體,所以靜態方法可以直接呼叫,例項方法要先成生例項再呼叫,靜態速度很快,但是多了會佔記憶體。

任何語言都是對記憶體和磁碟的操作,至於是否物件導向,只是軟體層的問題,底層都是一樣的,只是實現方法不同。靜態記憶體是連續的,因為是在程式開始時就生成了,而例項方法申請的是離散的空間,所以當然沒有靜態方法快。

靜態方法始終呼叫同一塊記憶體,其缺點就是不能自動進行銷毀,而例項化可以銷毀。

12.echo效率高於

print

因為echo沒有返回值,print返回乙個整型。測試:

echo

0.000929 - 0.001255 s (平均

0.001092 seconds)

print

0.000980 - 0.001396 seconds (平均

0.001188 seconds)

相差8%左右,總體上echo是比較快的。

注意:echo輸出大字串的時候,如果沒有調整就會嚴重影響效能。開啟apache的mod_deflate進行壓縮,或者開啟ob_start將內容放進緩衝區可以改善效能問題。

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

14.優化select sql語句

在可能的情況下盡量少的進行insert、update操作(在

update

上,我被惡批過)。

15.用字串而不是陣列作為引數

如果乙個函式既能接受陣列,又能接受簡單字元做為引數,那麼盡量用字元作為引數。例如字元替換函式,引數列表並不是太長,就可以考慮額外寫一段替換**,使得每次傳遞引數都是乙個字元,而不是接受陣列做為查詢和替換引數。大事化小,1+1>2。

16.最好不用@

用@掩蓋錯誤會降低指令碼執行速度,並且在後台有很多額外操作。用@比起不用,效率差距 3 倍。特別不要在迴圈中使用@,在 5 次迴圈的測試中,即使是先用error_reporting(0)關掉錯誤,在迴圈完成後再開啟,都比用@快。

17.陣列元素加引號

$row['id']比$row[id]速度快7倍,建議養成陣列鍵名加引號的習慣。

18別在迴圈裡用函式

例如:for($x=0; $x < count($array); $x++)

這種寫法在每次迴圈的時候都會呼叫 count() 函式,效率大大降低,建議這樣:

$len = count($array);

for($x=0; $x < $len; $x++)

讓函式在迴圈外面一次獲得迴圈次數。

優化php效能

優化php效能的五個實用技巧 以下是五個優化技巧,熟練掌握後對於開發還是很有幫助的。1.對字串使用單引號 php 引擎允許使用單引號和雙引號來封裝字串變數,但是這個是有很大的差別的!使用雙引號的字串告訴 php 引擎首先去讀取字串內容,查詢其中的變數,並改為變數對應的值。一般來說字串是沒有變數的,所...

php 效能優化

1 使用 優化工具 zend optimizer,原理是通過檢測zend引擎產生的中間 並且優化他 來提高速度 安裝 zend optimizer,在php.ini裡新增 zend optimizer.optimization level 15 zend extension path to zend...

PHP效能優化

php效能優化 程式優化 1 最好是使用字串連線與單引號,而不是雙引號字串。2 不要隨便複製變數。3 盡量使用echo輸出字串。4 盡量不要使用連線符,輸出多個變數時可以用逗號分開。5 盡量使用switch代替if else。6 不做無畏的替換,先用strpos查詢再做替換,不要做替換效率高200 ...