使用后我是否应该总是取消设置对象?请考虑以下代码。
foreach ( $items as $item_id )
{
$item = new Item($item_id);
echo $item->name;
unset( $item );
}
以这种方式使用unset()是否明智?使用对象后是否有更好的技术来释放内存?
答案 0 :(得分:3)
在你的情况下,没有。每次$item
替换旧值都会被销毁。 $item
的最后一个值将保持分配状态,但如果您的代码结构合理,则您将使用函数,当$item
超出范围时,它将最终被销毁。
答案 1 :(得分:2)
始终?没有.PHP有一个垃圾收集器,一旦它们不再使用,它将负责从内存中删除对象。
答案 2 :(得分:1)
不,它不是PHP的必要条件,因为在过程结束时对象会自动被破坏。