Home >Backend Development >PHP Tutorial >How to implement PHP optimization and efficient speed-up issues Page 1/2_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 URL corresponding to the program directory, recommended Use)
$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);
Be efficient
3. When judging in a loop, use identity ratio to be efficient when judging numerical values
$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 to check the first few records of multiple records, the speed 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. The data operation stability of NT server is not as stable as unix/Linux
6. Try to use ob_start() before output;
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. Try to use if ($a==its value) when making judgments
When negating Try to use if(empty($a)), because this way the program runs faster
8. When using != is equivalent to <> efficiency
9. Personal experience. The efficiency of $a="11111111111111"; is equivalent to that of $a='11111111111111';. It is not very different as the book says
10. Using standardized SQL statements will help MySQL parsing
11. Use
if($online){
$online1=$online;
setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure) ;
}
COOKIE will take effect immediately
Use
if($online)
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);
Better than
file($filename);
in both speed and stability