Php 如何获取所有全局变量

Php 如何获取所有全局变量,php,function,global,Php,Function,Global,我不想使用$_POST['var'],而是想按名称获取所有全局变量 另外,例如,当我提交表单时,我想使用get(‘姓氏’)而不是$_POST[‘姓氏’),所以我尝试了一个函数,但这个函数不起作用 function get($var){ $global = $GLOBALS["$var"] ; return $global; } 我真的不明白为什么 我返回给我注意:未定义索引:nom在C:\wamp\www\cyb.fr\lib\u php\librarie.php的第23行 任

我不想使用$_POST['var'],而是想按名称获取所有全局变量

另外,例如,当我提交表单时,我想使用get(‘姓氏’)而不是$_POST[‘姓氏’),所以我尝试了一个函数,但这个函数不起作用

function get($var){
    $global = $GLOBALS["$var"] ;
    return $global;
}
我真的不明白为什么

我返回给我
注意:未定义索引:nom在C:\wamp\www\cyb.fr\lib\u php\librarie.php的第23行

任何形式的帮助都会被感激的

为什么不呢

function get($var) {
  return $_POST[$var];
 }

您可以使用以下功能:

function post_value($key=''){
if($key!='')    {
    if(!is_array($_POST[$key]))
            return trim($_POST[$key]);
        else
            return $_POST[$key];

}
else
    return;
}

除非在php.ini中打开了
register\u globals
指令,否则任何请求数据(如POST和GET)都不会注册为全局变量。我敢打赌,它没有打开,也不应该打开。由于PHP4.x,它有时被默认为关闭

备选方案

function get($variable) {
    return isset($_REQUEST[$variable]) 
        ? $_REQUEST[$variable] : null;
}

除了保存几个字符外,基于函数的方法如何比通常的
$\u POST
方法更好?这当然不会更快。好吧,我不明白有没有wy我可以得到帖子?有一种方法,唯一的方法:
$\u post['姓氏]
。其他所有内容都只是一个包装器。它返回相同的错误,错误为“找不到'nom',但您的示例使用'namname'…一个名为“
get
”的函数返回POST正文值。。。似乎默认的PHP命名法还不够混乱-P仍然是正确答案。@deceze我只是实现OP函数,而不是重命名它;-)这可能是这个非问题的最笨拙的解决方案;当然,它被接受了。