|
Иногда
удобно иметь переменные как имена переменных. То есть имена переменных, которые
могут устанавливаться и использоваться динамически. Нормальная переменная устанавливается
примерно таким оператором: Переменная переменная/variable
variable принимает значение переменной и рассматривает его как имя переменной.
В предыдущем примере, hello может использоваться как имя переменной с помощью
двух знаков dollar. То есть: После этого в дереве символов
РНР определены две переменные: $a с содержимым "hello" и $hello
с содержимым "world". Следовательно, оператор даст тот же вывод, что
и то есть оба они дадут на
выходе: hello world Чтобы использовать переменные переменные с
массивами, вы должны разрешить проблему неоднозначности. То есть, если вы записываете
$$a[1], то разборщику необходимо знать, будете ли вы использовать $a[1]
как переменную, или вы хотите использовать $$a как переменную, а затем
как индекс [1] из этой переменной. Синтаксис для разрешения этой неоднозначности
таков: ${$a[1]} для первого случая и ${$a}[1] - для второго. Пожалуйста
отметьте, что переменные переменные не могут использоваться с новыми суперглобалами
РНР. Это значит, что вы не можете делать что-либо вроде ${$_GET}. Если
вы ищете способ работать с superglobals и старыми HTTP_*_VARS, вы можете попытаться
ссылаться на них. |