Я пытался передать переменную, которая содержала имя суперглобального массива. Я хотел, чтобы функция обрабатывала, но я не мог заставить его работать, он просто утверждал, что рассматриваемая переменная не существует, и возвращал ноль,
Я упростил мой тестовый пример до следующего кода:
function accessSession ($sessName)
{
var_dump ($$sessName);
}
$sessName = '_SERVER';
var_dump ($$sessName);
accessSession ($sessName);
Var_dump вне функции возвращает содержимое $ _SERVER, как и ожидалось.Однако var_dump в функции вызывает ошибку, упомянутую выше.
Добавление global $_SERVER
к функции не привело к исчезновению ошибки, но присвоение $ _SERVER другой переменной и выполнение этой глобальной переменной (см. Ниже)
function accessSession ($sessName)
{
global $test;
var_dump ($$sessName);
}
$test = $_SERVER;
$sessName = 'test';
var_dump ($$sessName);
accessSession ($sessName);
это ошибка PHP, или я просто делаю что-то не так?