多次访问时,是否值得将对象属性保存到变量中?

时间:2017-02-20 17:58:47

标签: php wordpress performance memory

特别是在wordpress中,我想知道:从循环中多次访问它时,将$post->ID保存到$post_id变量中是否有意义?

我的意思是:$post_id = $post->ID

然后在函数需要时总是调用$post_id

我基本上发现自己一直这样做,因为在javascript中你可以节省内存。但是在这个php / wordpress上下文中也是如此吗?

1 个答案:

答案 0 :(得分:5)

在现代PHP中,添加$post_id变量几乎没有内存影响,如果它只读取循环。两个变量的值在一个内存位置引用,直到您修改其中一个变量,此时PHP将其复制到内存中的两个单独位置。这是referred to copy-on-write

性能的唯一区别可能是取消引用object属性。如果有的话,成本很小,可以忽略不计。

所以要回答你原来的问题,不值得添加另一个变量来获得性能。另请参阅有关微优化的this broad conversation