我有两个简单的问题.什么是更好/有用的内存清理.
$var = null;
要么
unset($var);
我有一个循环的功能.我正在(几分钟后)
Fatal error: Allowed memory size of 419430400 bytes exhausted
我设置null和unset() – 每个对象(在循环结束),但仍然没有任何成功:(我无法找出消耗的内存是什么.
而循环中的函数调用呢? PHP会释放这些功能中的所有分配?(调用后)
PHP本身有时会混淆这两个概念,但通常,一个变量设置为NULL与不存在的变量不同:
<?PHP $foo = 'One'; $bar = 'Two'; $foo = NULL; unset($bar); var_dump($foo); // NULL var_dump($bar); // Notice: Undefined variable: bar var_dump(get_defined_vars()); // Only foo shows up: ["foo"]=> NULL ?>