php变量数组名称

时间:2012-02-13 14:11:04

标签: php variables

我得到了以下类,我想知道是否可以使用变量数组名称。

class Ajax{
    private $method;

    public function __construct(){
        $this->method = '$_' . $_SERVER['REQUEST_METHOD'];
    }
}

所以基本上$ method变量应该包含POST或GET方法,接下来的问题是,如果在这里使用引用是聪明的吗?

我的第一个想法是:

$this->method = '$_' . $_SERVER['REQUEST_METHOD'];
$this->metod =& $$this->method;

但这不起作用。

感谢阅读和帮助,非常感谢。

3 个答案:

答案 0 :(得分:1)

你想要像

这样的东西
    $this->method = $$_SERVER['REQUEST_METHOD'];

这是一个“variable variable”(请注意双倍$$)。但是,请不要这样做。变量变量使得难以/不可能调试代码。

答案 1 :(得分:1)

为什么不做呢

If ($_SERVER['REQUEST_METHOD'] === 'GET') {
    $this->method = $_GET;
} else if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $this->method = $_POST;
}

如果你想直接工作,那么

$this->method = ${'_'.$_SERVER['REQUEST_METHOD']};

或者您可以使用$_REQUEST(尽管使用它不是很好)

$this->method = $_REQUEST;

答案 2 :(得分:1)

尝试这样:

$this->method = ${'_' . $_SERVER['REQUEST_METHOD']};