早速、コード例を直接見てみましょう。
1. 配列を走査します
配列を走査するときに count が使用される回数に注意し、毎回配列の長さを計算しないでください
ゆっくり書いた方法
2. 機能を上手に使おう
必要に応じて適切な関数を選択してください。たとえば、日付タイプの時刻が「2012-06-04 10:43:00」である場合、年、月、日を取得するだけで済みます。
ゆっくり書いた方法
3. 一重引用符と二重引用符
多くの人は、一重引用符が二重引用符と同じように使用されると誤解していますが、これは重大な間違いです。 PHP における一重引用符と二重引用符には大きな違いがあります。最大の違いは、変数は二重引用符内では解析できるが、一重引用符内では解析できないことです。これにより、効率の問題が生じます。一重引用符は二重引用符よりも効率的です
。
ゆっくり書いた方法
4. できるだけ簡潔にしてください
コードを直接見てください
普通の文章
5. 枝の使い方が素晴らしい
分岐が多すぎる場合はスイッチを使用してください。少ない場合は ifelse を使用してください
ゆっくり書いた方法
PHP を最適化するには、サーバー、APACHE などのサーバー ソフトウェア、MYSQL などのデータベースで作業する方法がたくさんありますが、最も重要なことは、PHP コードで作業し、より高速なアルゴリズムを変更し、計算を減らすことです。
以下は抜粋です:
1. メソッドを静的にできる場合は、そのメソッドに対して静的宣言を行います。速度は4倍まで上げることができます。
2.echo は print よりも高速です。
3. 文字列連結の代わりに、echo の複数のパラメータを使用します (翻訳: ピリオドの代わりにカンマを使用することを指します)。
4. for ループを実行する前に最大ループ数を決定します。ループするたびに最大値を計算しません。
5. 未使用の変数、特に大きな配列の登録を解除して、メモリを解放します。
6. __get、__set、__autoload の使用は避けてください。
7.require_once() は高価です。
8. ファイルを含める場合はフルパスを使用すると、オペレーティング システムのパスを解決する時間が短縮されます。
9. スクリプトの実行開始時刻 (サーバーがクライアント要求を受信する時刻) を知りたい場合は、time() よりも $_SERVER[‘REQUEST_TIME’] を使用する方が適しています。
10. 関数は正規表現を置き換えて同じ関数を完成させます。
11. str_replace 関数は preg_replace 関数よりも高速ですが、strtr 関数は str_replace 関数よりも 4 倍効率的です。
12. 文字列置換関数がパラメーターとして配列または文字を受け入れ、パラメーターの長さが長すぎない場合は、単に 1 行のコードを記述するのではなく、渡される各パラメーターが文字になるように追加の置換コードを記述することを検討できます。コードはクエリと置換のパラメータとして配列を受け入れます。
13. 複数の if、else if ステートメントを使用するよりも、選択的分岐ステートメント (翻訳アノテーション: switch case) を使用する方が良いです。
14. @ を使用してエラー メッセージをブロックするのは非常に非効率です。
15. Apache の mod_deflate モジュールを開きます。
16. 使用が終了したら、データベース接続を閉じる必要があります。
17.$row[‘id’] は $row[id] よりも 7 倍効率的です。
18. エラーメッセージは高価です。
19. for ループでは関数を使用しないようにしてください。たとえば、for ($x=0; $x < count($array); $x) はループするたびに count() 関数を呼び出します。
20. メソッド内でローカル変数をインクリメントするのが最も高速です。関数内でローカル変数を呼び出すのとほぼ同じ速度です。
21. グローバル変数のインクリメントは、ローカル変数のインクリメントより 2 倍遅くなります。
22. オブジェクト プロパティ (例: $this->prop++) のインクリメントは、ローカル変数のインクリメントより 3 倍遅くなります。
23. 未定義のローカル変数をインクリメントするのは、事前定義されたローカル変数をインクリメントするよりも 9 ~ 10 倍遅くなります。
24. 関数内で呼び出さずにローカル変数を定義するだけでも、(ローカル変数をインクリメントするのと同じ程度に) 速度が低下します。 PHP はおそらく、グローバル変数が存在するかどうかを確認します。
25. 10 個のメソッドを (メソッドのテスト前とテスト後の両方で) 追加したため、メソッド呼び出しはクラスで定義されているメソッドの数に依存していないように見えますが、パフォーマンスに変化はありませんでした。
26. 派生クラスのメソッドは、基本クラスで定義された同じメソッドよりも高速に実行されます。
27. 1 つのパラメーターを指定して空の関数を呼び出すと、ローカル変数のインクリメント操作を 7 ~ 8 回実行するのと同じ時間がかかります。同様のメソッド呼び出しには、15 近くのローカル変数の増分が必要です。
28. 文字列を囲むには二重引用符の代わりに一重引用符を使用すると高速になります。 PHP は二重引用符で囲まれた文字列内の変数を検索するため、一重引用符は検索しません。もちろん、これは文字列に変数を含める必要がない場合にのみ実行できます。
29. 複数の文字列を出力する場合は、ピリオドの代わりにカンマを使用して文字列を区切ると高速になります。注: これは、複数の文字列をパラメータとして受け取ることができる「関数」です (注釈: PHP マニュアルには、echo は実際の関数ではなく言語構造であると記載されているため、関数は二重引用符で囲まれています)。 。
30. Apache が PHP スクリプトを解析する時間は、静的な HTML ページを解析する場合よりも 2 ~ 10 倍遅くなります。使用する静的な HTML ページを増やし、スクリプトを減らすようにしてください。
31. スクリプトをキャッシュできない限り、呼び出されるたびに再コンパイルされます。 PHP バッファーのセットを紹介します...残りの全文 >>
それは主に使い方によって異なりますが、読み取って別のファイルに書き込むだけであれば、速度はそれほど遅くなりません。
デモのアドレスを教えてください:
service.020i.cn/baidu/bigfile.php