優化性能
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版本問題。
魔術方法
PHP中把以兩個下劃線__開頭的方法稱為魔術方法(Magic methods),這些方法在php中充當了舉足輕重的作用。 魔術方法包括:
1、__construct(),類的構造函數
2、__destruct(),類的析構函數
3、__call(),在對象中調用一個不可訪問方法時調用
4、__callStatic(),用靜態方式中調用一個不可訪問方法時調用
5、__get(),獲得一個類的成員變量時調用
6、__set(),設置一個類的成員變量時調用
7、__isset(),當對不可訪問屬性調用isset()或empty()時調用
8、__unset(),當對不可訪問屬性調用unset()時被調用。
9、__sleep(),執行serialize()時,先會調用這個函數
10、__wakeup(),執行unserialize()時,先會調用這個函數
11、__toString(),類被當成字符串時的回應方法
12、__invoke(),調用函數的方式調用一個對象時的回應方法
13、__set_state(),調用var_export()導出類時,此靜態方法會被調用。
14、__clone(),當對象複製完成時調用
15、__autoload(),嘗試加載未定義的類
16、__debugInfo(),打印所需調試信息