本文主要跟大家分享高效php的寫法,希望能幫助大家。
1. 靜態化 static
靜態變數始於類別的創建,終於類別的消亡;非靜態變數始於類別實例的創建,終於類別實例的消亡。靜態方法可以直接調用,實例方法要透過實例調用,靜態速度會快很多。 靜態方法總是呼叫同一塊內存,不能自動進行銷毀,而是實例化可以銷毀。
2. echo 效率高於 print
#因為echo沒有回傳值,而print回傳一個整形。 注意,echo大字串的時候,如果沒有做調整就嚴重影響效能。使用開啟apached的mod_deflate進行壓縮或開啟ob_start先將內容放進緩衝區。
3. 在循環之前就設定好循環的最大次數,而不是在循環中;
如for 迴圈中每次都計算。
4. 銷毀變數去釋放內存,特別是大的數組;
##數組和物件在php特別佔內存的,這個由於php的底層的zend引擎引起的,一般來說,PHP數組的內存利用率只有1/10, 也就是說,一個在C語言裡面100M 內存的數組,在PHP裡面就要1G 。特別是在PHP作為後台伺服器的系統中,常常會出現記憶體耗費太大的問題。
#5. requiere_once()比較耗資源;
這是因為requiere_once需要判斷該文件是否被引用過,所以能不用盡量不用。常用require/include方法避免。
6. 在includes和requires中使用絕對路徑。
如果包含相對路徑,PHP會在include_path裡面遍歷尋找檔案。用絕對路徑就會避免此類問題,因此解析作業系統路徑所需的時間會更少。
7. 能用PHP內部字串運算函數的情況下,盡量用他們,不要用正則表達式; 因為其效率高於正則;
#str_replace字元替換比正則替換preg_replace快,但strtr比str_replace又快1/4 ;
另外不要做無謂的替換即使沒有替換,str_replace 也會為其參數分配記憶體。很慢!解決方法:用 strpos 先查找(非常快),看是否需要替換,如果需要,再替換。效率:- 如果需要替換:效率幾乎相等,差異在 0.1% 左右。如果不需要替換:用 strpos 快 200%。
8. #最好不用@,用@掩蓋錯誤會降低腳本運行速度;
使用@實際上後台有很多操作。用@比起不用@,效率差距:3 倍。特別不要在循環中使用@,在 5 次循環的測試中,即使是先用 error_reporting(0) 關掉錯誤,在循環完成後再打開,都比用@快。
9.#$row['id']比$row[id]速度快7倍; 建議養成陣列鍵加引號的習慣;
#10.在迴圈裡別用函數
例如For($x=0; $x
11. 建立一個未宣告的局部變數要比一個已經定義過的局部變數慢9-10倍
12. 單引號取代雙引號來包含字串
13. Apache解析一個PHP腳本的時間要比解析一個靜態HTML頁面慢2至10倍。
盡量多用靜態HTML頁面,少用腳本。
14. ##不要隨便就複製變數
有時候為了讓PHP 程式碼更整潔,一些PHP 新手(包括我)會把預先定義好的變數複製到一個名字比較短的變數中,其實這樣做的結果是增加了一倍的記憶體消耗,只會讓程式更加慢。
15. #使用選擇分支語句
switch case好於使用多個if,else if語句,且程式碼更容易閱讀和維護。
16. #盡量的少進行檔案操作,雖然PHP的檔案操作效率也不低的;
在可以用file_get_contents取代file、fopen、feof、fgets
17. 盡可能的使用PHP內部函數
18. foreach效率更高,盡量用foreach取代while和for迴圈;
19. 循環內部不要宣告變量,尤其是大變數:物件
20. 對global變量,應該用完就unset()掉;
21. 使用++$i遞增
#$i++會比++$i慢一些。這種差異是PHP特有的,,並不適用於其他語言。後置遞增實際上會產生一個臨時變量,這個臨時變量隨後被遞增。而前置遞增直接在原值上遞增。這是最優化處理的一種,正如Zend的PHP優化器所做的那樣。
相關推薦:
#學習PHP精粹,編寫高效PHP程式碼之自動測試_PHP教程#
以上是高效php的寫法分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境