特别是在wordpress中,我想知道:从循环中多次访问它时,将$post->ID
保存到$post_id
变量中是否有意义?
我的意思是:$post_id = $post->ID
然后在函数需要时总是调用$post_id
。
我基本上发现自己一直这样做,因为在javascript中你可以节省内存。但是在这个php / wordpress上下文中也是如此吗?
答案 0 :(得分:5)
在现代PHP中,添加$post_id
变量几乎没有内存影响,如果它只读取循环。两个变量的值在一个内存位置引用,直到您修改其中一个变量,此时PHP将其复制到内存中的两个单独位置。这是referred to copy-on-write 。
性能的唯一区别可能是取消引用object属性。如果有的话,成本很小,可以忽略不计。
所以要回答你原来的问题,不值得添加另一个变量来获得性能。另请参阅有关微优化的this broad conversation。