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

  • Автор темы Автор темы DDT
  • Дата начала Дата начала

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).

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

Спасибо.
 
а в мане не видел, случайно, примеров использования этого оператора?
 
отдельного описания static я не нашел. Он упоминается только в описании переменных и все.
 
действительно.
ответить ДА или НЕТ (это как минимум).

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

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