ホームページ  >  記事  >  バックエンド開発  >  PHPの最適化

PHPの最適化

高洛峰
高洛峰オリジナル
2016-10-20 13:54:35912ブラウズ

1 引用符

二重引用符 ""、一重引用符 '' について
エスケープしない場合は一重引用符を使用してください。二重引用符は変数を検索し、一重引用符は文字列のみをラップするためです

2 スタックにプッシュされる配列

$arr [] = 'x'; array_push($arr, 'x') の代わりに、関数呼び出しの消費はありません

3 複数の分岐選択

if else の代わりに case を切り替えます正しい出力は 1 つだけですが、途中で削除すべき間違いがたくさんあります。複数の if else を使用しないでください。これにより、コードがよりエレガントになります

function demo(){
    if () return false;
    if () return false;
    if () return false;
    return 'x';
}

4 オブジェクト指向とプロセス指向

簡略化できるものは、できるだけ簡略化するようにしてください。 クラスを作成するとき、クラスのインスタンス化は、関数の呼び出しよりも多くのメモリを消費します。スタックメモリではなくヒープメモリの割り当てが必要です

5 PHPに付属の関数を使ってみてください

自分で実装しようと考えないでください、PHP 組み込み関数はすべてC言語で書かれています。PHPで書けますか。 C よりも効率的?

6 グローバル変数は使用しないようにしてください

グローバル、グローバル変数はプログラム構造に影響します

7 これは PHP であり、c/c++ ではありません

C では、i++ は 1 つの CPU 命令のみを必要とするため、 $i++ は非常に効率的だといつも思っていましたが、私が見たフレームワーク (tp など) は $i++ を使用せず、$i + = 1 を使用していました。自分が若すぎることに気づきました。$i++ には php で 4 つのオペコードが必要です

8 メモリ リーク 通常、php にはメモリ リークはありません (実行後に終了し、常駐プロセスはありません) が、私はメモリ リークに遭遇しました。同僚が作成したプログラムは、不可解にも空のページを返しましたが、コード ロジックは問題ないようでした。 xdebug を使用してデバッグしたところ、再帰に出口がないことがわかり、無限呼び出しが発生したため、プログラムにメモリ リークが発生している可能性があります


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