Home > Article > Backend Development > Summary of PHP optimization and efficient speed-up issues_PHP tutorial
1. In a function, using return when passing an array 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);
To be efficient
2. (This code is used to get the program URL corresponding to the 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
$pre_urlarray= explode('/',$HTTP_SERVER_VARS['HTTP_REFERER']);
$pre_url=array_pop($pre_urlarray);
To be efficient
3. When judging in a loop, use constant for numerical judgment Equality is better than equal efficiency
$a=2;$b=2;
For example
if($a==$b)$c=$a;
>than
if($ a===$b)$c=$a;
Efficient
4. Try to use where in when querying mysql and use limit less
Limit checks the first few records of multiple records, which is very fast , but querying the top few items will be slow
Use in. When querying continuous records, it is very fast. The first run of non-continuous records will be a little slower, but it will be faster after that!
5. NT The stability of server data operation is not as good as unix/linux
6. Try to use ob_start() before output; it can speed up the output, suitable for NT or nuli/linux. For unlix servers, if you use ob_start('ob_gzhandler'); the output efficiency Will be higher
7. When judging, try to use if ($a==his value). When negating, try to use if (empty ($a)), because this way the program runs faster
8. The efficiency of using != is equivalent to <> There is a big difference
10. Using standardized SQL statements will facilitate MySQL parsing
11. Use
if($online){
$online1=$online;
setcookie ('online1',$online,$cookietime,$ckpath,$ckdomain,$secure);
}
COOKIE will take effect immediately
Use
if($online)