文字列を含めるには二重引用符の代わりに一重引用符を使用すると、処理が速くなります。 PHP は二重引用符で囲まれた文字列内の変数を検索しますが、一重引用符は検索しません。 注: これを実行できるのは echo だけです。これは複数の文字列をパラメータとして受け取ることができる「関数」です (注釈: PHP マニュアル echo は実際の関数ではなく言語構造であるため、関数は二重引用符で囲まれています)。
1. クラスメソッドを静的に定義できる場合は、クラスメソッドを静的に定義してみると、速度が 4 倍近く向上します。
2. $row[’id’] の速度は $row[id] の 7 倍です。
3. Echo は print より高速で、echo $str1、$str2 などの文字列連結の代わりに echo の複数のパラメータ (注釈: ピリオドの代わりにカンマを使用することを指します) を使用します。
4. for ループを実行する前に最大ループ数を決定します。ループごとに最大値を計算するのではなく、代わりに foreach を使用するのが最善です。
5. 未使用の変数、特に大きな配列の登録を解除して、メモリを解放します。
6. __get、__set、__autoload の使用は避けるようにしてください。
7. require_once() は高価です。
8. ファイルをインクルードする場合は絶対パスを使用するようにしてください。これにより、include_path 内のファイルを検索する PHP の速度が低下し、オペレーティング システムのパスの解析に必要な時間が短縮されるからです。
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. Webページの閲覧速度を向上させるには、Apacheのmod_deflateモジュールをオンにします。
16. データベース接続は使用が終了したら閉じる必要があり、長い接続を使用しないでください。
17. エラーメッセージは高価です。
18. メソッド内でローカル変数をインクリメントするのが最も速いです。関数内でローカル変数を呼び出すのとほぼ同じ速度です。
19. グローバル変数のインクリメントは、ローカル変数のインクリメントより 2 倍遅くなります。
20. オブジェクトのプロパティ ($this->prop++ など) をインクリメントするのは、ローカル変数をインクリメントするより 3 倍遅くなります。