Отменить все переменные в скрипте PHP

Попытка автоматически отключить все переменные в скрипте.

Пробовали вот так:

echo '<br /> Variables in Script before unset(): <br />'; print_r(array_keys(get_defined_vars())); echo '<br /><br />'; var_dump(get_defined_vars()); // Creates string of comma-separated variables(*) for unset. $all_vars = implode(', $', array_keys(get_defined_vars())); echo '<br /><br />'; echo '<br />List Variables in Script: <br />'; echo $all_vars; unset($all_vars); echo '<br /><br />'; echo '<br />Variables in Script after unset(): <br />'; print_r(array_keys(get_defined_vars())); echo '<br />'; var_dump(get_defined_vars()); 

Почему это не работает?

Есть лучший способ сделать это?

Спасибо за помощь!

(*) It's seems somewhat that it does not really create the variables, but a string that looks like variables...

Solutions Collecting From Web of "Отменить все переменные в скрипте PHP"

Здесь ya go ->

 $vars = array_keys(get_defined_vars()); for ($i = 0; $i < sizeOf($vars); $i++) { unset($$vars[$i]); } unset($vars,$i); не $vars = array_keys(get_defined_vars()); for ($i = 0; $i < sizeOf($vars); $i++) { unset($$vars[$i]); } unset($vars,$i); 

И чтобы уточнить, implode возвращает «строковое представление всех элементов массива в том же порядке». http://php.net/manual/en/function.implode.php

Unset требует фактической переменной как параметра, а не только строкового представления. Что похоже на то, что возвращает get_defined_vars () (а не фактическая ссылка на переменные). Таким образом, код проходит через массив строк и возвращает каждый в качестве ссылки, используя дополнительные $ спереди, которые могут использоваться unset.

foreach (array_keys($GLOBALS) as $k) unset($$k); unset($k);

не знаю о вас, ребята, но $$ vars не работает для меня.

вот как я это сделал.

 $vars = array_keys(get_defined_vars()); foreach($vars as $var) { unset(${"$var"}); } с $vars = array_keys(get_defined_vars()); foreach($vars as $var) { unset(${"$var"}); }