在函数和类之外使用PHP超全局数组的变量变量

I'm beginner of PHP, I found a Warning says:

Please note that variable variables cannot be used with PHP's Superglobal arrays within functions or class methods.

So, does it mean I can use variable variables with Superglobal outside of function and class methods, like this:

<?php
    foreach(array('_GET','_POST','_COOKIE','_REQUEST') as $key) {
        if (isset($$key)){
            foreach($$key as $_key => $_value){
               $$key[$_key] = MyFunc($_value);
            }
        }
    }
    function MyFunc($str){
       ********************
    }
?>

Actually, I tried and it seems works as expected, but why PHP doesn't allow to use it inside a function or class, what is the consideration then?

I would assume that it means you can't do things like isset($$key).

Maybe instead do this, $request = $$key.

foreach(array('_GET','_POST','_COOKIE','_REQUEST') as $key) {
    $request = $$key;
    if (isset($request)){
        foreach($request as $_key => $_value){
           $request[$_key] = MyFunc($_value);
        }
    }
}