从运行时完全删除对象

时间:2014-04-21 08:40:29

标签: php memory-management

我正在办一份工作,我从供应商的大量进口库存信息。其中一些产品有很多产品,因此当我将它们存储在内存中时,它会很快变得很重。

出于这个原因,我想 - 在做任何与他人同行之后 - 完全取消每个供应商的设置。

每个“供应商”都是一个读取器和一个处理器,它被注入一个管理器,它将所有数据返回给N个写入器。管理器将Reader和Processor(大量数据所在的类)存储在一个简单的数组中。

这是一个快速演示:

$first = new stdClass();
$first->name = "I'm an object";
$first->age = 12;

$second = new stdClass();
$first->name = "I'm also an object!";
$first->age = 9;

$arr = array($first, $second);

while ($data = array_shift($arr)) {
    echo "Emptying array one by one... \n";
    //doesn't matter if you unset($data) or do $data=null;
}

//I want this to be empty, but's not
var_dump($first);

现在,我在数组上执行foreach()并使值通过引用传递,然后我将其(通过引用)传递给cleanup()方法。这感觉很笨拙。

我错过了一些明显的东西吗?我怎样才能做到这一点?

0 个答案:

没有答案
相关问题