2017-02-20 5 views
3

特にワードプレスでは、ループから数回アクセスすると変数に$post->IDのような節約効果がありますか?複数回アクセスするとオブジェクトプロパティを変数に保存する価値はありますか?

私は意味:関数で必要なときに$post_id = $post->ID

はその後常に$post_idを呼び出します。

私は基本的に自分がいつもそれをやっていることを知っています。なぜならjavascriptではメモリを節約するからです。しかし、このPHP/WordPressの文脈でも本当ですか?

答えて

5

現代のPHPでは、$post_id変数を追加すると、ループ用に読み込まれていればメモリにほとんど影響しません。変数の1つを変更するまで、2つの変数の値は1つのメモリ位置で参照されます。このとき、PHPはメモリ内の2つの別々の場所にそれをコピーします。これは、referred toとしてcopy-on-writeです。

パフォーマンスの唯一の違いは、オブジェクトプロパティを逆参照することです。コストは、もしあれば、それは無視できるほど小さいです。

元の質問に答えるために、パフォーマンスを得るために別の変数を追加する価値はありません。マイクロ最適化については、this broad conversationも参照してください。

関連する問題