欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php提高網(wǎng)站效率的技巧

 更新時(shí)間:2015年09月29日 14:49:39   投稿:lijiao  
隨著國(guó)內(nèi)PHP開發(fā)的興起,代碼優(yōu)化成了老生常談的話題了。作者本人時(shí)不時(shí)也會(huì)跑到CSDN壇論與人交流交流有交PHP開發(fā)和優(yōu)化問(wèn)題,這也是可以使自身快速提高的方法。

程序員在編寫程序時(shí),總是想要使自己的程序占用資源最小,運(yùn)行速度更快,代碼量更少。往往我們?cè)谧非筮@些的同時(shí)卻失去了很多東西。優(yōu)化的目的是花最少的代價(jià)換來(lái)最快的運(yùn)行速度與最容易維護(hù)的代碼。以下就幾點(diǎn)PHP的優(yōu)化做下總結(jié):
1、in_array的用法 
      避免在大的數(shù)組上使用in_array(),同時(shí)避免在循環(huán)中對(duì)包含20個(gè)以上元素的數(shù)組使用這個(gè)函數(shù)。in_array()會(huì)非常消耗資源.對(duì)于小的數(shù)組這種影響可能很小,但是在一個(gè)循環(huán)中檢查大數(shù)組可能會(huì)需要好幾秒鐘的時(shí)間。如果您確實(shí)需要這個(gè)功能,請(qǐng)使用isset()來(lái)查找數(shù)組元素。實(shí)際上是使用鍵名來(lái)查詢鍵值。調(diào)用isset($array[$var])會(huì)比in_array($var,array_keys($array))要快得多。
 
2、數(shù)組鍵名
      在PHP中,使用不經(jīng)單引號(hào)包含的字符串作為數(shù)組鍵名是合法的,但是我們不希望如此--鍵名應(yīng)該總是由單引號(hào)包含而避免引起混淆。注意這是使用一個(gè)字符串,而不是使用變量做鍵名的情況。

例如:

// 不好的寫法
$foo = $assoc_array[blah];
// 好的寫法
$foo = $assoc_array['blah'];
// 不好的寫法
$foo = $assoc_array["$var"];
// 好的寫法
$foo = $assoc_array[$var];

3、字符串表達(dá)
       在PHP中用兩種不同的方式來(lái)表示一個(gè)字符串-單引號(hào)或者雙引號(hào)。主要的區(qū)別在于語(yǔ)法解釋器會(huì)對(duì)雙引號(hào)表示的字符串進(jìn)行變量替換,而不會(huì)處理單引號(hào)表示的字符串。因此您應(yīng)該總是使用單引號(hào),除非您真的需要在字符串中處理變量。這樣,我們可以減少程序運(yùn)行消耗,因?yàn)檎Z(yǔ)法解釋器不需要每次多處理一大堆根本沒(méi)有變量的字符串。 
      同樣,如果您在函數(shù)調(diào)用中使用了一個(gè)字符串變量作為參數(shù),您不需要將這個(gè)變量包含在引號(hào)里。這會(huì)導(dǎo)致語(yǔ)法解釋器多做好多無(wú)用功。記住,幾乎所有雙引號(hào)中的轉(zhuǎn)義符對(duì)于單引號(hào)都是無(wú)效的。您需要留意以上的規(guī)則,但是有時(shí)候?yàn)榱舜a的可讀性,可以適當(dāng)?shù)钠评?/p>

例如:

// 不好的寫法
$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);
// 有時(shí)候單引號(hào)不是那么合適
$post_url = $phpbb_root_path . 'posting.' . $phpEx . '?mode=' . $mode . '&start=' . $start;
// 雙引號(hào)有時(shí)候能讓代碼行更集中
$post_url = "{$phpbb_root_path}posting.$phpEx?mode=$mode&start=$start";

4、循環(huán)定義中的操作 
      在比較部分如果存在運(yùn)算請(qǐng)一定要進(jìn)行優(yōu)化。因?yàn)檫@部分會(huì)在循環(huán)中的每一步進(jìn)行操作:

// 在每次循環(huán)中sizeof函數(shù)都要被調(diào)用
 for ($i = 0; $i < sizeof($post_data); $i++)
 {
  do_something();
 }
// 您可以在循環(huán)起始部分對(duì)這個(gè)不變的量賦值
 for ($i = 0, $size = sizeof($post_data); $i < $size; $i++)
 {
  do_something();
 } 

5、分支判斷,switchcase好于ifelse 
      使用分支語(yǔ)句要比用很多ifelse好很多。
 
6、不要濫用@操作符
      不要濫用@操作符,看上去很簡(jiǎn)單,但實(shí)際上用@比不用@效率要差幾倍。
      特別不要在循環(huán)中使用@。
 
7、獲取時(shí)間的方法 
      很多時(shí)候我們習(xí)慣使用time()獲取當(dāng)前時(shí)間,但time()終歸是一個(gè)函數(shù),不如直接用$_SERVER['REQUEST_TIME']好一點(diǎn)。
 
8、字符串長(zhǎng)度判斷
兩種寫法:
(1)if(strlen($str) < 5){/* do something */}
(2)if(isset($str[5])){ /* do something */ }

以上是小編在網(wǎng)上整理的php優(yōu)化技巧,希望對(duì)大家的學(xué)習(xí)有所幫助!

相關(guān)文章

  • PHP進(jìn)階學(xué)習(xí)之依賴注入與Ioc容器詳解

    PHP進(jìn)階學(xué)習(xí)之依賴注入與Ioc容器詳解

    這篇文章主要介紹了PHP進(jìn)階學(xué)習(xí)之依賴注入與Ioc容器,結(jié)合實(shí)例形式詳細(xì)分析了依賴注入與Ioc容器概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-06-06
  • 簡(jiǎn)單談?wù)刾hp中的unicode和utf8編碼

    簡(jiǎn)單談?wù)刾hp中的unicode和utf8編碼

    本文給大家深入討論了unicode和utf8這兩種編碼的關(guān)系,理解好了會(huì)發(fā)現(xiàn)網(wǎng)上一些舊的東西,是嚴(yán)重多余兼過(guò)期的,因?yàn)閺膗tf-8流行開始到現(xiàn)在,早已經(jīng)由原來(lái)六字節(jié)可變編碼到實(shí)際完全居于unicode(UCS-2)的穩(wěn)定階段。
    2015-06-06
  • PHP下打開URL地址的幾種方法小結(jié)

    PHP下打開URL地址的幾種方法小結(jié)

    PHP中打開URL地址的幾種方法總結(jié),這里的函數(shù)主要用于小偷采集等函數(shù)。
    2010-05-05
  • php 隨機(jī)排序廣告的實(shí)現(xiàn)代碼

    php 隨機(jī)排序廣告的實(shí)現(xiàn)代碼

    博客流行在側(cè)邊欄放置 4 到 6 個(gè) 125x125 的廣告, 但一般的擺放順序存在問(wèn)題. 如果廣告位置被固定, 各個(gè)位置的天然關(guān)注度肯定是不一樣的
    2011-05-05
  • PHP數(shù)字前補(bǔ)0的自帶函數(shù)sprintf 和number_format的用法(詳解)

    PHP數(shù)字前補(bǔ)0的自帶函數(shù)sprintf 和number_format的用法(詳解)

    下面小編就為大家?guī)?lái)一篇PHP數(shù)字前補(bǔ)0的自帶函數(shù)sprintf 和number_format的用法(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • PHP字符串前后字符或空格刪除方法介紹

    PHP字符串前后字符或空格刪除方法介紹

    我們所說(shuō)的多字節(jié)字符指的是不在傳統(tǒng)的?128?個(gè)?ASCII?字符集中的字符,比如中文字符,這篇文章主要介紹了PHP字符串前后字符或空格刪除方法介紹
    2022-11-11
  • Linux下進(jìn)行MYSQL編程時(shí)插入中文亂碼的解決方案

    Linux下進(jìn)行MYSQL編程時(shí)插入中文亂碼的解決方案

    Linux下進(jìn)行MYSQL編程時(shí)插入中文亂碼的解決方案...
    2007-03-03
  • PHP 導(dǎo)出數(shù)據(jù)到淘寶助手CSV的方法分享

    PHP 導(dǎo)出數(shù)據(jù)到淘寶助手CSV的方法分享

    其中將ECSHOP的數(shù)據(jù)轉(zhuǎn)到淘寶,原先是有51ecshop開發(fā)的ecshop助手有這個(gè)功能的,后來(lái)我打算自己直接在網(wǎng)頁(yè)實(shí)現(xiàn),就測(cè)試了下了,花了一段時(shí)間,共享出來(lái)希望對(duì)大家有所幫助,可以節(jié)省時(shí)間。
    2010-02-02
  • mac pecl 安裝php7.1擴(kuò)展教程

    mac pecl 安裝php7.1擴(kuò)展教程

    今天小編就為大家分享一篇mac pecl 安裝php7.1擴(kuò)展教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • 詳解Hbuilder中PHP環(huán)境配置

    詳解Hbuilder中PHP環(huán)境配置

    這篇文章主要介紹了Hbuilder中PHP環(huán)境配置,想用Hbuilder工具開發(fā)的同學(xué),一定要仔細(xì)看一下
    2021-04-04

最新評(píng)論