検索
ホームページバックエンド開発PHPチュートリアルPHP を作成する非常に効率的な方法

0. 文字列を含めるには二重引用符の代わりに一重引用符を使用すると高速になります。 PHP は二重引用符で囲まれた文字列内の変数を検索しますが、一重引用符は検索しません。 注: これを実行できるのは echo だけです。これは複数の文字列をパラメータとして受け取ることができる「関数」です (注釈: PHP マニュアル echo は実際の関数ではなく言語構造であるため、関数は二重引用符で囲まれています)。
1. クラスメソッドを静的に定義できる場合は、クラスメソッドを静的に定義してみると、速度が 4 倍近く向上します。
2.row['i] drow[id] 7 回 。 3. Echo は print より高速で、echo
str1 など、文字列連結の代わりに echo の複数のパラメータ (翻訳: ピリオドの代わりにカンマを使用することを指します) を使用します。 str2。 4. ループの実行には Foreach を使用することをお勧めします。for ループを実行するたびに最大値を計算しないでください。 5. 未使用の変数、特に大きな配列の登録を解除して、メモリを解放します。 6. get、__set、__autoload の使用は避けてください。冒頭の関数は、キッチンで特定の条件下で使用される関数です。一般に、次のような魔法の関数があります __construct()、__destruct()、__get()、__set()、__unset()、__call()、__callStatic()、__sleep()、__wakeup()、__toString()、__set_state()、__clone()、__autoload( ) 7. require_once() は高価です。 require/include を回避するために一般的に使用される方法 8. ファイルをインクルードする場合は、絶対パスを使用するようにしてください。これにより、include_path 内のファイルを検索する PHP の速度が低下し、オペレーティング システムのパスの解析に必要な時間が短縮されるためです。
9. スクリプトの実行が開始される瞬間 (注釈: サーバーがクライアント要求を受信する) を知りたい場合は、





SERを使用します。 VER['REQUEST] いいですねtime()10文字番号 代理代理 それではテーブル スタイル 終了と同じゴンCan 11trr eplac 🎘regr #速い 文字番号 /効果的 str replace カウント412などフルーツ oneone 単語 記号 文字列 交換交換 手紙 受け取る受け取る カウント グループ または 言葉お守り 高麗人参カウントのために作ります、そして 高麗人参カウント長い いや長い あれ できます検討してください えー 書く 段落 置換置き換える世代コードmake get 毎回 パスパス 高麗人参カウントですピース言葉 お守り 、そして ではありませんだけです書く OK 世代コード 受信 受信 数える グループを作るCheck お問い合わせそしての交換の交換 高麗人参 13作るを使う選択選択 ポイント支店言語 世代 交換用ストリップピース言語 , 選択選択ポイント 支店言語(それはwit chcas e)良い 作る 使う たくさんのそれぞれife lseif スラング14ではなくを使用してください @, @画面を使用してください間違っています間違っています のニュース Doメソッド よくある低い効果 非常に その低い効果的15ヒットオープン apach emoddef late モデルブロック とつながりましたネットページ を閲覧 表示速い16番号データ ピックアップいつ作る で終了いつオフにするべき ドロップ いいえからを使用してください を服用してください。 17間違っています間違っています ニュースを排除します世代価格アン 高い18広場配達増加 パート変更 数量速度 が一番です速いいくつか小屋 手紙 カウントチューン使用する 部門変更金額 速度 フェーズいつ19配達されました増加しました oneone 満員変更 金額宛先 パスよりも1つ それぞれ パート変更金額S卑劣な2 20配達増加 oneone そうですゾウに属しています セックス( のように: this->prop++)は、ローカル変数をインクリメントするよりも3倍遅くなります。 21. 未定義のローカル変数をインクリメントするのは、事前定義されたローカル変数をインクリメントするよりも 9 ~ 10 倍遅くなります。 22. 関数内で呼び出さずにローカル変数を定義するだけでも、(ローカル変数をインクリメントするのと同じ程度に) 速度が低下します。 PHP はおそらく、グローバル変数が存在するかどうかを確認します。 23. 10 個のメソッドを (メソッドのテスト前とテスト後の両方で) 追加しましたが、パフォーマンスに変化はなかったので、メソッド呼び出しはクラスで定義されたメソッドの数とは無関係であるように見えます。 24. 派生クラスのメソッドは、基本クラスで定義された同じメソッドよりも高速に実行されます。
25. 1 つのパラメーターを指定して空の関数を呼び出すには、7 ~ 8 回のローカル変数のインクリメント操作を実行するのと同じ時間がかかります。同様のメソッド呼び出しには、15 近くのローカル変数の増分が必要です。
26. Apache は、PHP スクリプトを解析するのに、静的な HTML ページを解析するよりも 2 ~ 10 倍遅くなります。使用する静的な HTML ページを増やし、スクリプトを減らすようにしてください。
27. スクリプトをキャッシュできない限り、呼び出されるたびに再コンパイルされます。 PHP キャッシュ メカニズムを導入すると、通常、コンパイルのオーバーヘッドが排除され、パフォーマンスが 25% ~ 100% 向上します。
28. できるだけキャッシュするようにしてください。memcached を使用できます。 Memcached は、動的 Web アプリケーションを高速化し、データベースの負荷を軽減するために使用できる高性能メモリ オブジェクト キャッシュ システムです。 OP コードのキャッシュは、リクエストごとにスクリプトを再コンパイルする必要がないように便利です。
29. 文字列を操作し、その長さが特定の要件を満たしているかどうかを確認する必要がある場合は、当然 strlen() 関数を使用します。この関数は計算を行わず、zval 構造体 (PHP 変数の格納に使用される C の組み込みデータ構造体) に格納されている既知の文字列長を返すだけなので、非常に高速に実行されます。ただし、strlen() は関数であるため、関数呼び出しは小文字などの多くの手順を経るため、多少遅くなります (注釈: 小文字の関数名を指します。PHP は関数名の大文字と小文字を区別しません)。 )、ハッシュ検索、呼び出された関数と一緒に実行されます。場合によっては、 isset() トリックを使用してコードの実行を高速化できます。
(下記例)
if (strlen(foo)5)ec 」 Fooistooshort( ダウンヌードル」 sスキル Qiaodoよりより )if( !isset(foo{5})) { echo “Fooは短すぎます” } isset() の呼び出しは、strlen() よりも高速です。これは、後者とは異なり、言語構造としての isset() は、その実行に関数の検索や小文字が必要ないことを意味するためです。つまり、実際には、最上位コードで文字列の長さをチェックするオーバーヘッドはそれほどかかりません。
34. 実行変数

i が渡されたとき を増やす または 配達 マイナスいつ, i++は++よりも優れていますさらにこれのようなの違い 違う PHPスペシャルがあります いいえ適していますを使用してください その 言語言語 だから お願いします修理変更あなた CまたはJ ava世代コードand とはを指します希望 それ私たち できる それは 変更速いいいえを使用してくださいの。 ++i は 3 つの命令 (オペコード) しか必要としないため高速ですが、$i++ は 4 つの命令を必要とします。ポストインクリメントでは、実際には、後でインクリメントされる一時変数が作成されます。プレフィックスの増分は、元の値に直接増加します。これは、Zend の PHP オプティマイザーによって行われるような、最適化の一種です。すべてのコマンド オプティマイザーが同じ最適化を行うわけではなく、コマンド オプティマイザーを備えていないインターネット サービス プロバイダー (ISP) やサーバーが多数存在するため、この最適化を念頭に置くことをお勧めします。 35. すべてがオブジェクト指向 (OOP) である必要はありません。オブジェクト指向は多くの場合高価で、各メソッドとオブジェクトの呼び出しは大量のメモリを消費します。 36. すべてのデータ構造を実装するためにクラスを使用する必要はありません。配列も便利です。 37. メソッドを細分化しすぎないでください。実際にどのコードを再利用するかを慎重に考えてください。 38. 必要に応じていつでもコードをメソッドに分割できます。 39. 多数の PHP 組み込み関数を使用してみます。 40. コード内に時間のかかる関数が多数ある場合は、それらを C 拡張機能として実装することを検討できます。 41. コードのプロファイリングを行います。チェッカーは、コードのどの部分にどれくらいの時間がかかっているかを示します。 Xdebug デバッガーには、コードの全体的な整合性を評価し、コード内のボトルネックを明らかにする検査ルーチンが含まれています。 42. mod_zip を Apache モジュールとして使用すると、データを瞬時に圧縮し、データ転送量を 80% 削減できます。
43. file、fopen、feof、fgets などの一連のメソッドの代わりに file_get_contents を使用できる場合は、より効率的である file_get_contents を使用するようにしてください。ただし、URL ファイルを開くときは、file_get_contents の PHP バージョンの問題に注意してください。 44. PHP のファイル操作効率は低くありませんが、ファイル操作はできるだけ少なくしてください。 45. Select SQL ステートメントを最適化し、挿入操作と更新操作をできるだけ少なくします (更新について批判されました
)。 46. 可能な限り PHP 内部関数を使用します (ただし、PHP に存在しない関数を見つけるために、カスタム関数を作成できたはずの時間を無駄にしました。これは経験の問題です!); 47. ループ内で変数、特に大きな変数を宣言しないでください: オブジェクト (これは PHP だけの問題ではないようですよね?)。 48. 多次元配列にはループやネストされた代入を使用しないようにしてください。 49. PHP の内部文字列操作関数を使用できる場合は、正規表現を使用しないでください。 50. foreach の方が効率的です。while や for ループの代わりに foreach を使用してみてください。 51. 文字列を引用するには二重引用符の代わりに一重引用符を使用します。 52. 「i=i+1 の代わりに i+=1 を使用します。これは C/C++ の習慣に従っており、より効率的です。」; 53. グローバル変数は使用後に unset() する必要があります。

元のアドレス: http://blog.csdn.net/power721/article/details/7376926

').addClass('pre-numbering') .hide (); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i
').text(i)); }; $numbering.fadeIn(1700); }); });

以上、PHPの効率的な書き方を内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。

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

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php怎么设置implode没有分隔符php怎么设置implode没有分隔符Apr 18, 2022 pm 05:39 PM

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。