日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

實(shí)用:動(dòng)態(tài)網(wǎng)頁制作技術(shù)PHP的十個(gè)應(yīng)用技巧_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:PHP實(shí)例:精確到每一秒鐘的在線人數(shù)顯示代碼
以下為引用的內(nèi)容: <?php session_start(); $dat_now1=date("H i s");//取時(shí)間 $p2=explode(" ", $dat_now1); $

如何消滅或優(yōu)化那PHP開發(fā)網(wǎng)站程序的代碼呢?

這一點(diǎn)上我個(gè)人最主要的經(jīng)驗(yàn)只有兩點(diǎn),一是消除錯(cuò)誤的或低效的循環(huán);二是優(yōu)化數(shù)據(jù)庫查詢語句。其實(shí)還存在一些其它的優(yōu)化細(xì)節(jié),比如“str_replace比ereg_replace快”、“echo比print快”等等。這些我暫時(shí)都放在一邊,稍后我會(huì)提到用緩存來對(duì)付過于頻繁的IO。

下面我們將三個(gè)功能相同,但程序?qū)懛ú煌暮瘮?shù)的效率(消耗的時(shí)間)進(jìn)行對(duì)比。

mb5u.php

以下為引用的內(nèi)容:

<?php
require_once('Benchmark/Iterate.php');
define('MAX_RUN',100);
$data = array(1, 2, 3, 4, 5);

doBenchmark('v1', $data);
doBenchmark('v2', $data);
doBenchmark('v3', $data);
function doBenchmark($functionName = null, $arr = null)
{
 reset($arr);
 $benchmark = new Benchmark_Iterate;
 $benchmark->run(MAX_RUN, $functionName, $arr);
 $result = $benchmark->get();
 echo '<br>';
 printf("%s ran %d times where average exec time %.5f ms",$functionName,$result['iterations'],$result['mean'] * 1000);
}

function v1($myArray = null) {
 // 效率很差的循環(huán)
 for ($i =0; $i < sizeof($myArray); $i )
 {
  echo '<!--' . $myArray[$i] . ' --> ';
 }
}

function v2($myArray = null) {
 // 效率略有提高
 $max = sizeof($myArray);
 for ($i =0; $i < $max ; $i )
 {
  echo '<!--' . $myArray[$i] . ' --> ';
 }
}

function v3($myArray = null){
 //最佳效率
 echo "<!--", implode(" --> <!--", $myArray), " --> ";
}

?>

  
程序輸出的結(jié)果大概是這樣的:

  v1 ran 100 times where average exec time 0.18400 ms
  v2 ran 100 times where average exec time 0.15500 ms
  v3 ran 100 times where average exec time 0.09100 ms

可以看到,函數(shù)的執(zhí)行時(shí)間變少,效率上升。

函數(shù)v1有個(gè)很明顯的錯(cuò)誤,每一次循環(huán)的時(shí)間,都需要調(diào)用sizeof()函數(shù)來計(jì)算。 函數(shù)v2則在循環(huán)外把$myArray數(shù)組的元素個(gè)數(shù)存到$max變量中,避免了每次循環(huán)都要計(jì)算數(shù)組的元素個(gè)數(shù),所以效率提高了。函數(shù)v3的效率最高,利用了現(xiàn)成的函數(shù),避免循環(huán)。

這個(gè)例子只是給你一個(gè)感性的認(rèn)識(shí),明白什么是相對(duì)高效的代碼。在實(shí)際開發(fā)中,我相信會(huì)有很多人會(huì)迷迷糊糊地寫出很多低效率的代碼。要把代碼寫得精煉而高效,恐怕需要時(shí)間去錘煉:-) 但這是另一個(gè)話題了,我們略過不談。

數(shù)據(jù)庫應(yīng)用基本上每個(gè)PHP程序都會(huì)用到,在實(shí)際開發(fā)中我發(fā)現(xiàn)最影響整個(gè)系統(tǒng)效率的就是數(shù)據(jù)庫這部份。至于數(shù)據(jù)庫的優(yōu)化和數(shù)據(jù)查詢語句的優(yōu)化,在此限于篇幅不詳細(xì)討論。

分享:大型Web需求解決方案 PHP定位突出
2007年P(guān)HPChina周末主題論壇在許多熱愛PHP、熱愛開源的愛好者的支持下順利結(jié)束,這次活動(dòng)的主題是“開源PHP與個(gè)人的發(fā)展”。我們有幸請(qǐng)到了許多知名網(wǎng)站的技術(shù)總監(jiān)和部門經(jīng)理出席討論

來源:模板無憂//所屬分類:PHP教程/更新時(shí)間:2008-08-22
相關(guān)PHP教程