php中用字符串获取$_POST得不到值

static function getInputVal($method, $key) {
        $eval = '_'.$method.'[]';
        if(is_null($key)) {
            return $$eval;
        }else {
            return isset($$eval[$key]) ? htmlspecialchars($$eval[$key]) : false;
        }
    }

$method 传入 POST 最终得到的是NULL 但直接打印$_POST是有值,请问是什么问题?

阅读 3.9k
6 个回答
$method = '_GET';
$key = 'name';

$get = $$method;
echo $get[$key];

因为$eval = '_'.$method.'[]'
当用POST方法时就是:$$eval == $_POST[];
那么你的:$ $eval[$key] == $$eval == $_POST[][$key];
你传进的是维数组,但你输出的是二维数组。

$eval = '_'.$method.'[]';
改为
$eval = '_'.$method;
新手上路,请多包涵

当$key为空时输出:$_POST[]为空;当$key为多个值即为数组时,输出:$_POST[数组],不符合要求。

好奇怪的写法。

你把$$eval的其中一个$去掉

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题