ホームページ >バックエンド開発 >PHPチュートリアル >PHP の動作効率を向上させる方法についての詳細なディスカッション_PHP チュートリアル

PHP の動作効率を向上させる方法についての詳細なディスカッション_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:31:26891ブラウズ

が PHP の動作効率を向上させることは誰もが知っています 1. 関数で配列

を渡す場合、グローバル

を使用するよりも return を使用する方が効率的です

  1. function userloginfo($usertemp) {
  2. $detail=explode("|",$usertemp);
  3. }
  4. $
  5. ログイン
  6. =userloginfo($userdb); =爆発("| ",$usertemp);

}

userloginfo($userdb);
  1. 効率化
  2. PHPの動作効率を向上させる 2、(このコードはプログラムディレクトリに対応するURLを取得するために使用されます) 、推奨)
  3. <ol class="dp-xml">
    <li class="alt"><span><span>$</span><span class="attribute">urlarray</span><span>=</span><span class="attribute-value">explode</span><span>('/',$HTTP_<br>SERVER_VARS['REQUEST_URI']);   </span></span></li>
    <li>
    <span>$</span><span class="attribute">urlcount</span><span>=count($urlarray);unset<br>($urlarray[$urlcount-1]);   </span>
    </li>
    <li class="alt">
    <span>$</span><span class="attribute">ofstarurl</span><span>=</span><span class="attribute-value">'http://'</span><span>.<br>$HTTP_SERVER_VARS['HTTP_HOST'].<br>implode('/',$urlarray);  </span>
    </li>
    </ol>
  4. このコードは
    <ol class="dp-xml">
    <li class="alt"><span><span>$</span><span class="attribute">pre_urlarray</span><span>=</span><span class="attribute-value">explode</span><span>('/',$HTTP_SERVER_VARS['HTTP_REFERER']);   </span></span></li>
    <li>
    <span>$</span><span class="attribute">pre_url</span><span>=</span><span class="attribute-value">array_pop</span><span>($pre_urlarray); </span>
    </li>
    </ol>
    より効率的です
    <ol class="dp-xml"><li class="alt"><span><span>$</span><span class="attribute">a</span><span>=</span><span class="attribute-value">2</span><span>;$</span><span class="attribute">b</span><span>=</span><span class="attribute-value">2</span><span>;  </span></span></li></ol>
    PHPの動作効率を向上させます3, ループ内で判定する場合、数値判定は同一比を使用して効率的です
    <ol class="dp-xml"><li class="alt"><span><span>if($</span><span class="attribute">a</span><span>==$b)$</span><span class="attribute">c</span><span>=$a;   </span></span></li></ol>
  5. たとえば、
  6. <ol class="dp-xml"><li class="alt"><span><span>if($</span><span class="attribute">a</span><span>===$b)$</span><span class="attribute">c</span><span>=$a;  </span></span></li></ol>
  7. ratio
<ol class="dp-xml">
<li class="alt"><span><span>if($online){   </span></span></li>
<li>
<span>$</span><span class="attribute">online1</span><span>=$online;   </span>
</li>
<li class="alt"><span>setcookie('online1',$online,<br>$cookietime,$ckpath,$ckdomain,$secure);   </span></li>
<li><span>}  </span></li>
</ol>

効率的

PHPの動作効率を向上させる 4、

mysqlクエリwhere inを使用し、制限を少なくしてください

limitを使用して、複数のレコードの最初の数レコードをチェックしますレコードの場合、速度は非常に高速ですが、上位数レコードのクエリは遅くなります

で使用します。連続レコードをクエリする場合は非常に高速で、非連続レコードは非常に高速です。少し遅くなりますが、その後は速くなります!

PHPの動作効率の向上 5,

NTサーバーのデータ動作の安定性はunix/linuxほど安定していません

PHPの動作効率の向上 6,

出力前にお試しくださいob_start(); を使用して出力を高速化します。unlix サーバーの場合、ob_start('ob_gzhandler'); を使用すると、PHP の動作効率が向上します 7,

判断 負の場合は if($a==his value) を使用し、負の場合は if(empty($a)) を使用してみてください。この方法の方がプログラムの実行が速くなります

PHP の実行効率を向上させる 8,

不等時間を使用する != 効率は < と同等です。大きな違いがあります

PHP の動作効率を向上させる 10,

標準化された SQL ステートメントを使用すると MySQL の解析に有益です

PHP の動作効率を向上させる 11

,

有効にするには

<ol class="dp-xml"><li class="alt"><span><span>if($online)   </span></span></li><li><span>setcookie('online1',$online,<br />$cookietime,$ckpath,$ckdomain,$secure);  </span></li></ol>

COOKIEが間もなく利用可能になります

Use

<ol class="dp-xml"><li class="alt"><span><span>$</span><span class="attribute">handle</span><span>=</span><span class="attribute-value">fopen</span><span>($filename,wb);   </span></span></li><li><span>flock($handle,LOCK_SH);   </span></li><li class="alt"><span>$</span><span class="attribute">filedata</span><span>=</span><span class="attribute-value">fread</span><span>($handle,<br />filesize($filename));   </span></li><li><span>fclose($handle);  </span></li></ol>

COOKIEを有効にするには再度更新する必要があります

PHPの実行効率を向上させます12、

Use

<ol class="dp-xml"><li class="alt"><span><span>file($filename);  </span></span></li></ol>

より

<ol class="dp-xml"><li class="alt"><span><span>ifunction substrs($content,$length) {   </span></span></li><li><span>if(strlen($content)</span><span class="tag">><span>$length){   </span><li class="alt">
<span>$</span><span class="attribute">num</span><span>=</span><span class="attribute-value">0</span><span>;   </span>
</li>
<li>
<span>for($</span><span class="attribute">i</span><span>=</span><span class="attribute-value">0</span><span>;$i</span><span class="tag"><</span><span>$length-3;$i++) {   </span></li><li class="alt"><span>if(ord($content[$i])</span><span class="tag">></span><span>127)$num++;   </span>
</li>
<li><span>}   </span></li>
<li class="alt">
<span>$num%</span><span class="attribute">2</span><span>==1 ? $</span><span class="attribute">content</span><span>=</span><span class="attribute-value">substr</span><span>(<br>$content,0,$length-4):$</span><span class="attribute">content<br></span><span>=</span><span class="attribute-value">substr</span><span>($content,0,$length-3);   </span>
</li>
<li>
<span>$</span><span class="attribute">content.</span><span>=</span><span class="attribute-value">' ...'</span><span>;   </span>
</li>
<li class="alt"><span>}   </span></li>
<li><span>return $content;   </span></li>
<li class="alt"><span>}   </span></li> 問題なし 速度、安定性ともに優れています<p></p>
<p>PHPの動作効率向上 13、文字列の切り捨て最適化機能(?文字の出現を回避可能) <strong></strong></p>
<p></p>
<pre class="brush:php;toolbar:false"><ol class="dp-xml"><li class="alt"><span><span>$newarray[1]=substrs($newarray[1],25); </span></span></li></ol>

向け例

<ol class="dp-xml">
<li class="alt"><span><span>for ($</span><span class="attribute">asc</span><span>=</span><span class="attribute-value">65</span><span>;$asc</span><span class="tag"><</span><span>=90;$asc++)   </span></span></li><li><span>{ //strtolower() 此函数在一些服务<br />器会产生乱码!   </span></li><li class="alt"><span>if (strrpos($regname,chr($asc))!==false)   </span></li><li><span>{   </span></li><li class="alt"><span>$</span><span class="attribute">error</span><span>=</span><span class="attribute-value">"为了避免用户名混乱,用户名<br />中禁止使用大写字母,请使用小写字母"</span><span>;   </span></li><li><span>$</span><span class="attribute">reg_check</span><span>=</span><span class="attribute-value">0</span><span>;   </span></li><li class="alt"><span>}   </span></li><li><span>} </span></li></ol>

PHP の動作効率を向上させる 14、プログラム内のシールドケース

PHP の実行効率を 15 向上させ、file() を使用せず、fget() を使用しません (不安定または遅い)。配列関数を例にとってみましょう

<ol class="dp-xml"><li class="alt"><span><span>function openfile($filename,$</span><span class="attribute">method</span><span>=</span><span class="attribute-value">"rb"</span><span>)   </span></span></li><li><span>{   </span></li><li class="alt"><span>$</span><span class="attribute">handle</span><span>=@fopen($filename,$method);   </span></li><li><span>@flock($handle,LOCK_SH);   </span></li><li class="alt"><span>@$</span><span class="attribute">filedata</span><span>=</span><span class="attribute-value">fread</span><span>($handle,filesize<br />($filename));   </span></li><li><span>@fclose($handle);   </span></li><li class="alt"><span>$</span><span class="attribute">filedata</span><span>=</span><span class="attribute-value">str_replace</span><span>("n","<br />n</span><span class="tag"><</span><span class="tag-name">ofstar:</span><span class="tag">></span><span>",$filedata);   </span></span></li>
<li>
<span>$</span><span class="attribute">filedb</span><span>=</span><span class="attribute-value">explode</span><span>("</span><span class="tag"><</span><span class="tag-name">ofstar:</span><span class="tag">></span><span>",$filedata);   </span>
</li>
<li class="alt"><span>//array_pop($filedb);   </span></li>
<li>
<span>$</span><span class="attribute">count</span><span class="attribute-value">count</span><span>=count($filedb);   </span>
</li>
<li class="alt"><span>if($filedb[$count-1]==''){unset<br>($filedb[$count-1]);}   </span></li>
<li><span>return $filedb;   </span></li>
<li class="alt"><span>}  </span></li>
</ol>

この関数はコードが多くなりますが、速度が向上し、安定性の面で PHP の動作効率を向上させるのに大きな利点があります!

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

www.bkjia.comtru​​e

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

技術記事

ご存知のとおり、PHP の動作効率を向上させるには、関数内で配列を渡すときに return を使用する方が、たとえば、global を使用するよりも効率的です。

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