1. When passing an array in a function,
using return is more efficient than using global
For example,
function userloginfo($usertemp){
$detail=explode( "|",$usertemp);
return $detail;
}
$login=userloginfo($userdb);
than
function userloginfo($usertemp) {
global $detail;
$detail=explode("|",$usertemp);
}
userloginfo($userdb);
Required Efficient
2, (This code is used to get the URL corresponding to the program directory, recommended)
$urlarray=explode('/',$HTTP_SERVER_VARS['REQUEST_URI']);
$urlcount=count($urlarray);unset($urlarray[$urlcount-1]);
$ofstarurl='http://'.$HTTP_SERVER_VARS['HTTP_HOST'].implode('/',$ urlarray);
This code is better than 🎜>
Be efficient
3. When judging in a loop, use identity ratio to make numerical judgment more efficient
For example
if($a==$b)$c=$a;than
if($a===$b)$c=$a;
efficient
4, When querying mysql, try to use where in and use limit less.
limit is very fast to check the first few records, but it will be slow to query the last few records.
Use in. When querying continuous records, it is very fast. The first run of discontinuous recording will be a little slower, but it will be faster after that!
5. The stability of NT server data operation is not as stable as unix/linux
6. Use it as much as possible before outputting ob_start(); can speed up the output, suitable for NT or nuli/linux. If you use ob_start('ob_gzhandler') for unlix servers; the output efficiency will be higher
7. Try to use if($ a==his value) Try to use if(empty($a)) when negating, because this way the program runs faster
8, using unequal time!= is equivalent to <>
9. From personal experience, the efficiency of using $a="11111111111111"; is equivalent to $a='11111111111111';. It is not as different as the book says
10. Use standardized SQL statement, it will be helpful for MySQL parsing
11, use
if($online){
$online1=$online;setcookie('online1',$online, $cookietime,$ckpath,$ckdomain,$secure);
}
COOKIE will take effect immediately
setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);
COOKIE needs to be refreshed again to take effect
12, Use
$handle=fopen($filename,wb);
flock($handle,LOCK_SH);$filedata=fread($handle,filesize($filename));
fclose($handle);
is better than
file($filename);
in both speed and stability
13, truncate characters String optimization function (can avoid the occurrence of ? characters)
function substrs($content,$length) {
if(strlen($content)>$length){$num=0;
for($i=0;$i<$length-3;$i++) { if(ord($content[$i])>127)$num++;
}
$num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);
$content.=' .. .';
}
return $content;
}
For example $newarray[1]=substrs($newarray[1],25);
14, case shielding in the program
for ($asc=65;$asc<=90;$asc++)
{ //strtolower() This function will generate garbled code on some servers !if (strrpos($regname,chr($asc))!==false)
{ $error="In order to avoid confusion in usernames, uppercase letters are prohibited in usernames. Please use lowercase letters. Letter";
$reg_check=0;
}
}
{
$handle=@fopen($filename,$method);
@$filedata=fread($handle,filesize($filename));
@fclose($handle);
$filedata=str_replace("n ","n
$filedb=explode("
//array_pop($filedb);
$count=count($filedb);
if($filedb[$count-1]==''){unset($filedb[$count-1]);}
return $filedb;
}
//Although this function has a lot of code, it has great advantages in speed and stability!
Write this first
www.bkjia.com