Как обнулить статическую переменную?

DDT

Новичок
Как обнулить статическую переменную?

Создаю в рекурсивной функции статический массив для сбора выходной информации:
PHP:
function sd($parent, $level, $new_array = 0)
{
	echo("<pre>new_array = ".$new_array."\n");
	if($new_array == 1)
	{		
		unset($DetailTree);
		static $DetailTree = array();
	}
	else
	{		
		static $DetailTree = array();		
	}
	echo(count($DetailTree));
	echo("<br>");

 // ........... остальной код .............
}
Дает в результате:
new_array = 0
0
new_array = 0
2
new_array = 1
6
new_array = 0
7
new_array = 0
9
new_array = 0
14

Т.е. даже при установке флага $new_array = 1 содержимое массива сохраняется (count = 6).

Вопрос: а можно вообще обнулить значение или содержимое статического массива?

Спасибо.
 

Фанат

oncle terrible
Команда форума
а в мане не видел, случайно, примеров использования этого оператора?
 

DDT

Новичок
отдельного описания static я не нашел. Он упоминается только в описании переменных и все.
 

DDT

Новичок
действительно.
ответить ДА или НЕТ (это как минимум).

Хорошо бы с случае "ДА", пояснить как, ну или хотя бы сказать где посмотреть.

P.S.
спасибо, Бресь Сергей
 

Фанат

oncle terrible
Команда форума
а чем, собственно, обнуление статической переменной отличается от присвоения ей какого-нибудь значения?
чем присвоение нуля отличается от присвоения единицы, грубо говоря?
 

Yaguan

пилот
DDT
А ты не догадываешься, что присваивать значение статической переменной можно не только при ее объявлении?
Т.е.
PHP:
if($new_array == 1) 
    {         
        static $DetailTree = array(); 
        $DetailTree = array();
    }
 

Петр Загогулин

Guest
*бурные апплодисменты из зала ( учится)*
 
Сверху