《PHP實例:php提高網站效率的技巧》要點:
本文介紹了PHP實例:php提高網站效率的技巧,希望對您有用。如果有疑問,可以聯系我們。
程序員在編寫程序時,總是想要使自己的程序占用資源最小,運行速度更快,代碼量更少.往往我們在追求這些的同時卻失去了很多東西.優化的目的是花最少的代價換來最快的運行速度與最容易維護的代碼.以下就幾點PHP的優化做下總結:
1、in_array的用法?
????? 避免在大的數組上使用in_array(),同時避免在循環中對包含20個以上元素的數組使用這個函數.in_array()會非常消耗資源.對于小的數組這種影響可能很小,但是在一個循環中檢查大數組可能會需要好幾秒鐘的時間.如果您確實需要這個功能,請使用isset()來查找數組元素.實際上是使用鍵名來查詢鍵值.調用isset($array[$var])會比in_array($var,array_keys($array))要快得多.
?
2、數組鍵名
????? 在PHP中,使用不經單引號包含的字符串作為數組鍵名是合法的,但是我們不希望如此--鍵名應該總是由單引號包含而避免引起混淆.注意這是使用一個字符串,而不是使用變量做鍵名的情況.PHP實戰
例如:
PHP實戰
// 不好的寫法 $foo = $assoc_array[blah]; // 好的寫法 $foo = $assoc_array['blah']; // 不好的寫法 $foo = $assoc_array["$var"]; // 好的寫法 $foo = $assoc_array[$var];
3、字符串表達
?????? 在PHP中用兩種不同的方式來表示一個字符串-單引號或者雙引號.主要的區別在于語法解釋器會對雙引號表示的字符串進行變量替換,而不會處理單引號表示的字符串.因此您應該總是使用單引號,除非您真的需要在字符串中處理變量.這樣,我們可以減少程序運行消耗,因為語法解釋器不需要每次多處理一大堆根本沒有變量的字符串.?
????? 同樣,如果您在函數調用中使用了一個字符串變量作為參數,您不需要將這個變量包含在引號里.這會導致語法解釋器多做好多無用功.記住,幾乎所有雙引號中的轉義符對于單引號都是無效的.您需要把穩以上的規則,但是有時候為了代碼的可讀性,可以適當的破例.PHP實戰
例如:
PHP實戰
// 不好的寫法 $str = "This is a really long string with no variables for the parser to find."; do_stuff("$str"); // 好的寫法 $str = 'This is a really long string with no variables for the parser to find.'; do_stuff($str); // 有時候單引號不是那么合適 $post_url = $phpbb_root_path . 'posting.' . $phpEx . '?mode=' . $mode . '&start=' . $start; // 雙引號有時候能讓代碼行更集中 $post_url = "{$phpbb_root_path}posting.$phpEx?mode=$mode&start=$start";
4、循環定義中的操作?
????? 在比較部分如果存在運算請一定要進行優化.因為這部分會在循環中的每一步進行操作:PHP實戰
// 在每次循環中sizeof函數都要被調用 for ($i = 0; $i < sizeof($post_data); $i++) { do_something(); } // 您可以在循環起始部分對這個不變的量賦值 for ($i = 0, $size = sizeof($post_data); $i < $size; $i++) { do_something(); }
5、分支判斷,switchcase好于ifelse?
????? 使用分支語句要比用很多ifelse好很多.
?
6、不要濫用@操作符
????? 不要濫用@操作符,看上去很簡單,但實際上用@比不用@效率要差幾倍.
????? 特別不要在循環中使用@.
?
7、獲取時間的辦法?
????? 很多時候我們習慣使用time()獲取當前時間,但time()終歸是一個函數,不如直接用$_SERVER['REQUEST_TIME']好一點.
?
8、字符串長度判斷
兩種寫法:
(1)if(strlen($str) < 5){/* do something */}
(2)if(isset($str[5])){ /* do something */ }PHP實戰
以上是小編在網上整理的php優化技巧,希望對大家的學習有所贊助!PHP實戰
《PHP實例:php提高網站效率的技巧》是否對您有啟發,歡迎查看更多與《PHP實例:php提高網站效率的技巧》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/8636.html