我得到了以下类,我想知道是否可以使用变量数组名称。
class Ajax{
private $method;
public function __construct(){
$this->method = '$_' . $_SERVER['REQUEST_METHOD'];
}
}
所以基本上$ method变量应该包含POST或GET方法,接下来的问题是,如果在这里使用引用是聪明的吗?
我的第一个想法是:
$this->method = '$_' . $_SERVER['REQUEST_METHOD'];
$this->metod =& $$this->method;
但这不起作用。
感谢阅读和帮助,非常感谢。
答案 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']};