Интересно, если можно динамически читать суперглобальные переменные, я хотел бы сделать что-то вроде этого:
<?php
$n = 'GET';
$var = '$_'.$n.'[\'something\']'; // pour lire $_GET['something']
echo $var;
//Or
$n = 'POST';
$var = '$_'.$n.'[\'something\']'; // pour lire $_POST['something']
echo $var;
?>
Этот код работает не так, как я хочу, но я хотел бы знать, работает ли он в PHP?
Вы не можете использовать переменные переменные с суперглобалами, функциями или методами класса, а не с $this
,
И цитата из руководства (это прямо перед комментариями пользователя, если вы ищете его):
Предупреждение:
Обратите внимание, что переменные переменные не могут использоваться с PHP Суперглобальные массивы внутри функции или же методы класса. Переменная $ this- также является специальной переменной, на которую нельзя ссылаться динамически.
Спасибо, это именно то, что я ищу
Но мы не можем использовать это в функции, пожалуйста?
$n = '_GET';
// don't work => Undefined variable: _GET
function f($n) {
echo ${$n}['a'];
}
f($n);
//work fine
echo ${$n}['a'];