, поэтому я использую php 5.2 и мне нужна некоторая сборка мусора, поскольку я имею дело с очень ограниченными ресурсами и большими наборами данных.
из моих тестов я видел, что unset ничего не делает до конца скрипта (даже если у меня заканчивается память), что немного противоречит документации, хотя я предполагаю, что я также читаюдокументы 5.3, а не документы 5.2 и документы 5.3 кажутся относительно недокументированными.
Ниже приведен пример скелета моего класса:
class foo{
private $_var;
public function __construct(){
$this->_var = array();
for($i = 0; $i < 10000000000; $i++){
$this->_var[rand(1, 100000)] = 'I am string '.$i.' in the array';
}
}
public function myGC(){
$this->_var = null;
}
}
в моей функции myGC ()сделать foreach над массивом и установить для каждого элемента, с которым я сталкиваюсь, значение NULL (как я помню, что делал в C ++), или установка $ this -> _ var = NULL освободит не только указатель на массив, но и все элементы, связанные с указателем?1008 *