Можно ли так определить GET и POST?

#php

Вопрос:

Я хочу изменить метод запроса в соответствии с переменной, как в примере:

 $input = "GET me out of here!";
$method = strtoupper($input != "It should be POST" ? "get" : "post");
$exists = isset($_${$method}["some-variable"]) amp;amp; $_${$method}["some-variable"] == "I can be both get and post!";
 

Возможно ли / допустимо ли это?

Комментарии:

1. Я попробовал это сейчас, и, похоже, так не получится. Я все равно не уверен, что это может сработать

Ответ №1:

Вы можете сделать $method = '_POST'; , а затем сделать $$method , чтобы получить доступ $_POST :

http://sandbox.onlinephpfunctions.com/code/45381e507fe957cabb751e4bd62a71418a7bb45f

 $input = "GET me out of here!";
$_GET = ["some-variable" => "I can be both get and post!"];
$method = strtoupper($input != "It should be POST" ? "_GET" : "_POST");
$exists = isset($method["some-variable"]) amp;amp; $method["some-variable"] == "I can be both get and post!";
echo $exists ? "exists" : "nope";  // exists
 

Это, как говорится, вы также можете просто использовать $_REQUEST с оговоркой, что это также включает в себя $_COOKIE