Если твои переменные не нечинаются со знака _, то обнулить их можно так. В результате глобальные переменные останутся нетронутыми. Если же пользовательские переменные начинаются с _ то надо что то другое думать.
foreach ($a = get_defined_vars() as $key => $value) {
if(substr($key, 0, 1) == '_') {
continue;
} else {
unset($$key);
}
}