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

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

Jul 15, 2016 pm 01:31 PM
php 移行 使用 関数 存在する どうやって 話し合う 改善する 効率 配列 時間 深く行く 知る 走る

が 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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

See all articles