1,在函數中,傳遞陣列時
使用return 比使用global 更有效率
例如
function userloginfo($usertemp){
$detail=explode("|",$usertemp);
return);
return $ }
$login=userloginfo($userdb);
比
function userloginfo($usertemp){
global $detail;
$detail=explode("|",$usertemp);
}; ;
$ofstarurl='http://'.$HTTP_SERVER_VARS['HTTP_HOST'].implode('/',$urlarray);
這段程式碼比
$pre_urlarray=explode('/',$HTTP_SERVER_VARS['HTTP_REFERER']);
$pre_url=array_pop($pre_urlarray);
要高效
循環中使用數字恆等比等於高效
$a=2;$b=2;例如
if($a==$b)$c=$a;
比
if($a===$b)$c =$a;
高效
4,mysql 查詢時盡量使用where in 少用limit
使用in .在查詢連續性記錄,非常快, 非連續性記錄第一次運行會稍微慢一點,但是之後將比較快!
5,NT伺服器資料操作穩定性不如unix/linux
6,輸出前使用盡量使用ob_start( ); 可以加快輸出速度,適用NT或nuli/linux,對unlix類伺服器如果使用ob_start('ob_gzhandler');輸出效率將更高
7,判斷的時候盡量使用if($a==他的值) 否定的時候盡量使用if(empty($a)),因為這樣程序運行更快速
8,使用不等時!= 與 效率相當
9,個人經驗得使用$a="11111111111111" ; 的效率和$a='11111111111111'; 相當.並不像書本說的相差很大
10,使用規範的SQL語句, 會有利於MySQL的解析
11,使用
if($online) {
$online1=$online;setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);
}
COOKIE將馬上生效
使用online
使用
online嗎
);
flock($handle,LOCK_SH);
$filedata=fread($handle,filesize($filename));
fclose($handle);;
比
file($filename);無論
比
file($filename);無論
比
file($filename);還是穩定要優良
13,截斷字串最佳化函數(可避免?字元出現)
function substrs($content,$length) {
if(strlen($content)>$length){
if(strlen($content)>$length){
=0;
for($i=0;$i if(ord($content[$i])>127)$num++; 1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);
$content.=' ...';
}return $ content;
}
例如$newarray[1]=substrs($newarray[1],25);
14,程式中屏蔽大小寫
for ($asc=65; $asc++)
{ //strtolower() 此函數在某些伺服器會產生亂碼!
if (strrpos($regname,chr($asc))!==false)
$error="為了避免使用者名稱混亂,用戶名中禁止使用大寫字母,請使用小寫字母";
$reg_check=0; }
}
$reg_check=0;
}
}
15,不使用file();且不使用使用file();不使用不穩定或速度慢) 取一數組函數
function openfile($filename,$method="rb")
{
$handle=@fopen($filename,$method);
@flock($handle,LOCK_SH); filedata=fread($handle,filesize($filename));
@fclose($handle);
$filedb=explode( "
//array_pop($filedb);