ホームページ >バックエンド開発 >PHPチュートリアル >PHP実行効率まとめ(プロンプトプログラム速度)_PHPチュートリアル

PHP実行効率まとめ(プロンプトプログラム速度)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:43:07784ブラウズ

1. 関数で配列を渡す場合、グローバルを使用するよりも return を使用する方が効率的です。たとえば、

function userloginfo($usertemp){
$detail=explode("|",$usertemp); ;
}
$login=userloginfo($userdb);
関数 userloginfo($usertemp){
$detail=explode("|",$usertemp); ;

必須 効率的
2, (このコードはプログラム ディレクトリに対応する URL を取得するために使用されます、推奨)
$urlcount=count('/',$HTTP_SERVER_VARS['REQUEST_URI']); $urlarray);unset( $urlarray[$urlcount-1]);
$ofstarurl='http://'.$HTTP_SERVER_VARS['HTTP_HOST'].implode('/',$urlarray);
このコードの方が優れていますより
$pre_urlarray=explode( '/',$HTTP_SERVER_VARS['HTTP_REFERER']);
ループ内で判定する場合は、同一性比を使用して数値判定を行う効率的です
$a=2;
例:
if($a===$b)$c=$a; ;
効率的
4、mysql クエリ where in を使用し、制限を少なくしてください
limit は複数のレコードの最初の数レコードをチェックするのに非常に高速ですが、上位のいくつかのレコードをクエリするのは遅くなります
で使用します。連続レコードのクエリは高速、非連続レコードの初回クエリは少し遅くなりますが、将来的には高速になるでしょう
5. NT サーバーのデータ操作の安定性は unix/ ほど良くありません。 linux
6. 出力の前に ob_start() を使用してみてください。これは、NT または nuli/linux に適しています。unlix サーバーが ob_start('ob_gzhandler') を使用すると、出力効率が高くなります。判定する場合は if ($a==その値) を使用し、否定的な場合は if (empty ($a)) を使用してください。このようにすると、プログラムの実行が速くなります
8。 <> と同等です。個人的な経験では、$a="1111111111111"; を使用することは、$a="1111111111111"; と同等ではありません。本の内容は大きく異なります
10. 標準化された SQL ステートメントを使用すると、MySQL の分析が容易になります
11.
if($online){
$online1=$online;
setcookie('online1',$online,$ cookietime,$) を使用します。 ckpath,$ckdomain,$secure);
}

COOKIE はすぐに有効になります
if($online)
setcookie('online1',$online,$cookietime,$ckpath,$ckdomain,$secure) を使用します。
COOKIE を有効にするには再度更新する必要があります
12、
$handle=fopen($filename,wb); を使用します
$filedata=fread($handle,filesize($filename)) ;
fclose($handle);
file($filename); と比較して
速度、安定性共に優れています
文字列の切り捨て最適化機能(?文字の出現を回避可能)
function substrs($content,$ length ) {
if(strlen($content)>$length){
$num=0;
for($i=0;$iif(ord($content [ $i])>127)$num++;
}
$num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$ length -3);
$content.=' ...';
return $content;

たとえば、$newarray[1]=substrs($newarray[1],25);プログラム Mask case
for ($asc=65;$asc{ //strto lower() この関数は一部のサーバーで文字化けを生成します
if (strrpos($regname,chr($asc) )) !==false)
{
$error="ユーザー名では大文字は禁止されています。小文字を使用してください。"; file (); および fget() を使用しないでください (不安定または遅い) 配列関数を使用します
function openfile($filename,$method="rb")
{
$handle=@fopen($filename) ,$method) ;
@flock($handle,LOCK_SH);
@fclose($filename); "n",$filedata);
$filedb=explode("",$filedata);
$count=count($filedb); ;
if( $filedb[$count-1]==''){unset($filedb[$count-1]);}
return $filedb
}
//この関数にはさらに多くのコードがありますが、速度と安定性が向上するという利点は非常に大きいです。



http://www.bkjia.com/PHPjc/320811.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/320811.html

技術記事

1. 関数では、配列を渡すときに return を使用する方が、global を使用するよりも効率的です。 userloginfo(...





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。