php優(yōu)化及高效提速問(wèn)題的實(shí)現(xiàn)方法第1/2頁(yè)
更新時(shí)間:2008年10月03日 14:55:02 作者:
下面是phper在實(shí)際編寫(xiě)中,發(fā)現(xiàn)的一些問(wèn)題,其它我們的好多代碼,需要優(yōu)化,很多程序都是可以再提速的
一、 在函數(shù)中,傳遞數(shù)組時(shí)使用 return 比使用 global 要高效,比如:
function userloginfo($usertemp){
$detail=explode("|",$usertemp);
return $detail;
}
$login=userloginfo($userdb);
比
function userloginfo($usertemp){
global $detail;
$detail=explode("|",$usertemp);
}
userloginfo($userdb);
要高效
二、 (這個(gè)代碼用于得到程序目錄對(duì)應(yīng)的網(wǎng)址,推薦使用)
$urlarray=explode('/',$HTTP_SERVER_VARS['REQUEST_URI']);
$urlcount=count($urlarray);unset($urlarray[$urlcount-1]);
$ofstarurl='http://'.$HTTP_SERVER_VARS['HTTP_HOST'].implode('/',$urlarray);
這段代碼比
$pre_urlarray=explode('/',$HTTP_SERVER_VARS['HTTP_REFERER']);
$pre_url=array_pop($pre_urlarray);
要高效
三、 在循環(huán)中判斷時(shí),數(shù)值判斷使用恒等要比等于高效
$a=2;$b=2;
比如
if($a==$b)$c=$a;
比
if($a===$b)$c=$a;
高效
四、 MySQL 查詢時(shí)盡量使用where in 少用 limit
limit查多記錄的前幾條, 速度很快, 但是查詢最面幾條就會(huì)慢
使用in .在查詢連續(xù)性記錄,非??? 非連續(xù)性記錄第一次運(yùn)行會(huì)稍微慢一點(diǎn),但是之后將比較快!
五、 NT服務(wù)器數(shù)據(jù)操作穩(wěn)定性不及unix/Linux
六、 輸出前使用盡量使用 ob_start();
可以加快輸出速度,適用NT或nuli/linux,對(duì)unlix類(lèi)服務(wù)器 如果使用 ob_start('ob_gzhandler');輸出效率將更高
七、 判斷的時(shí)候盡量使用if($a==他的值)
否定的時(shí)候盡量使用if(empty($a)),因?yàn)檫@樣程序運(yùn)行更快速
八、 使用不等時(shí) != 與 <>效率相當(dāng)
九、 個(gè)人經(jīng)驗(yàn)得 使用 $a="11111111111111"; 的效率和 $a='11111111111111'; 相當(dāng).并不象書(shū)本說(shuō)的相差很大
十、 使用規(guī)范的SQL語(yǔ)句, 會(huì)有利于MySQL的解析
十一、 使用
if($online){
$online1=$online;
setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);
}
COOKIE將馬上生效
使用
if($online)
setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);
COOKIE需要再刷新一次才能生效
十二、 使用
$handle=fopen($filename,wb);
flock($handle,LOCK_SH);
$filedata=fread($handle,filesize($filename));
fclose($handle);
比
file($filename);
無(wú)論在速度還是穩(wěn)定上都要優(yōu)秀
function userloginfo($usertemp){
$detail=explode("|",$usertemp);
return $detail;
}
$login=userloginfo($userdb);
比
function userloginfo($usertemp){
global $detail;
$detail=explode("|",$usertemp);
}
userloginfo($userdb);
要高效
二、 (這個(gè)代碼用于得到程序目錄對(duì)應(yīng)的網(wǎng)址,推薦使用)
$urlarray=explode('/',$HTTP_SERVER_VARS['REQUEST_URI']);
$urlcount=count($urlarray);unset($urlarray[$urlcount-1]);
$ofstarurl='http://'.$HTTP_SERVER_VARS['HTTP_HOST'].implode('/',$urlarray);
這段代碼比
$pre_urlarray=explode('/',$HTTP_SERVER_VARS['HTTP_REFERER']);
$pre_url=array_pop($pre_urlarray);
要高效
三、 在循環(huán)中判斷時(shí),數(shù)值判斷使用恒等要比等于高效
$a=2;$b=2;
比如
if($a==$b)$c=$a;
比
if($a===$b)$c=$a;
高效
四、 MySQL 查詢時(shí)盡量使用where in 少用 limit
limit查多記錄的前幾條, 速度很快, 但是查詢最面幾條就會(huì)慢
使用in .在查詢連續(xù)性記錄,非??? 非連續(xù)性記錄第一次運(yùn)行會(huì)稍微慢一點(diǎn),但是之后將比較快!
五、 NT服務(wù)器數(shù)據(jù)操作穩(wěn)定性不及unix/Linux
六、 輸出前使用盡量使用 ob_start();
可以加快輸出速度,適用NT或nuli/linux,對(duì)unlix類(lèi)服務(wù)器 如果使用 ob_start('ob_gzhandler');輸出效率將更高
七、 判斷的時(shí)候盡量使用if($a==他的值)
否定的時(shí)候盡量使用if(empty($a)),因?yàn)檫@樣程序運(yùn)行更快速
八、 使用不等時(shí) != 與 <>效率相當(dāng)
九、 個(gè)人經(jīng)驗(yàn)得 使用 $a="11111111111111"; 的效率和 $a='11111111111111'; 相當(dāng).并不象書(shū)本說(shuō)的相差很大
十、 使用規(guī)范的SQL語(yǔ)句, 會(huì)有利于MySQL的解析
十一、 使用
if($online){
$online1=$online;
setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);
}
COOKIE將馬上生效
使用
if($online)
setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);
COOKIE需要再刷新一次才能生效
十二、 使用
$handle=fopen($filename,wb);
flock($handle,LOCK_SH);
$filedata=fread($handle,filesize($filename));
fclose($handle);
比
file($filename);
無(wú)論在速度還是穩(wěn)定上都要優(yōu)秀
相關(guān)文章
深入研究PHP中的preg_replace和代碼執(zhí)行
這篇文章主要給大家介紹了關(guān)于PHP中preg_replace和代碼執(zhí)行的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
PHP 批量更新網(wǎng)頁(yè)內(nèi)容實(shí)現(xiàn)代碼
lost63原創(chuàng)的,批量替換內(nèi)容的php代碼2010-01-01
PHP實(shí)現(xiàn)的分頁(yè)類(lèi)定義與用法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的分頁(yè)類(lèi)定義與用法,結(jié)合具體實(shí)例形式分析了php封裝的分頁(yè)類(lèi)常用操作及具體使用技巧,需要的朋友可以參考下2017-07-07
php獲取從百度、谷歌等搜索引擎進(jìn)入網(wǎng)站關(guān)鍵詞的方法
這篇文章主要介紹了php獲取從百度、谷歌等搜索引擎進(jìn)入網(wǎng)站關(guān)鍵詞的方法,可實(shí)現(xiàn)判斷進(jìn)入網(wǎng)站的搜索引擎來(lái)源及搜索的關(guān)鍵詞功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-07-07
php中l(wèi)aravel調(diào)度執(zhí)行錯(cuò)誤解決方法
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于php中l(wèi)aravel調(diào)度執(zhí)行錯(cuò)誤解決方法,對(duì)此有興趣的朋友們可以學(xué)習(xí)參考下。2021-02-02

