имя массива переменных php - PullRequest
0 голосов
/ 13 февраля 2012

Я получил следующий класс, и я хочу знать, возможно ли использовать переменное имя массива.

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 ]

1 голос
/ 13 февраля 2012

Почему бы просто не сделать

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;
1 голос
/ 13 февраля 2012

попытайтесь получить это так:

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

1 голос
/ 13 февраля 2012

Вы бы хотели что-то вроде

    $this->method = $$_SERVER['REQUEST_METHOD'];

, это будет " переменная переменная " (обратите внимание на двойной $$).Однако, пожалуйста, не делайте этого.переменные переменные делают для сложного / невозможного для отладки кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...