Desactivar todas las variables en script PHP

Intentando desarmar automáticamente todas las variables en el script.

Lo he intentado de esta manera:

echo '
Variables in Script before unset():
'; print_r(array_keys(get_defined_vars())); echo '

'; var_dump(get_defined_vars()); // Creates string of comma-separated variables(*) for unset. $all_vars = implode(', $', array_keys(get_defined_vars())); echo '

'; echo '
List Variables in Script:
'; echo $all_vars; unset($all_vars); echo '

'; echo '
Variables in Script after unset():
'; print_r(array_keys(get_defined_vars())); echo '
'; var_dump(get_defined_vars());

Por que no funciona?

¿Hay una mejor manera de hacer esto?

¡Gracias por ayudar!

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

Aquí ya ve ->

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

Y para aclarar, implode devuelve "una representación de cadena de todos los elementos de la matriz en el mismo orden". http://php.net/manual/en/function.implode.php

Unset requiere la variable real como parámetro, no solo una representación de cadena. Lo cual es similar a lo que devuelve get_defined_vars () (no la referencia de la variable real). De modo que el código pasa por la matriz de cadenas y devuelve cada una como referencia usando los $ adicionales al frente, lo que unset puede usar.

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

No sé ustedes chicos, pero $$ vars no funciona para mí.

así es como lo hice.

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