【发布时间】:2012-11-19 23:13:27
【问题描述】:
如果你正在做 $whatever = null;那么你正在重写变量的 数据。您可能会更快地释放/缩小内存,但它可能会窃取 CPU 从真正需要它们的代码中循环,从而导致 更长的整体执行时间。
显然这是undisputed truth,所以也许有人会好心解释一下。
我的意思是,unset 神奇地不执行任何汇编指令,而$whatever = null; 执行?给出的答案和说的一样有用
$whatever = null 重置缓冲区和 L1 缓存,而 unset 清除缓冲区并重置 L2 缓存。
Techno mumbo jumbo 不构成答案。
【问题讨论】:
-
我认为它可能与作为 PHP 中的值的变量有关(是的,我说过:内部变量 是 对象)。所以在清理方面可能“设置变量的值(为空)”和“删除变量”之间存在差异......但这只是我的疯狂猜测;)
-
你让它变得比现在复杂得多。分配 var null 意味着该变量设置为 null 值。取消设置使 var 不存在。
-
@itachi 它可能是答案,..还有更多解释
标签: php