Новые книги

Личные советы опытного разработчика и IT-менеджера «специалистам, приступающим к установке компьютерной системы учета чего бы то ни было», а также заказчикам такой системы.
Сегодня уже недостаточно просто произвести продукт – нужно грамотно довести его до конечных потребителей. Для того чтобы решить эту задачу, необходима правильно выстроенная модель дистрибуции. Причем в условиях постоянно меняющихся рынков крайне важно быть готовым к тому, что систему придется непрерывно совершенствовать и при этом любой неверный шаг сразу же приведет к снижению продаж, а значит, и прибыли. Эта книга расскажет о том, как разработать и внедрить оптимальную для вашего бизнеса модель дистрибуции и постоянно поддерживать ее в актуальном состоянии, так, чтобы она соответствовала всем вызовам современных отечественных рынков.

Переменные Переменные

Учебник РНР
НазадГлава 7. Переменные Вперёд

Переменные переменные

Иногда удобно иметь переменные как имена переменных. То есть имена переменных, которые могут устанавливаться и использоваться динамически. Нормальная переменная устанавливается примерно таким оператором:

$a = "hello";

Переменная переменная/variable variable принимает значение переменной и рассматривает его как имя переменной. В предыдущем примере, hello может использоваться как имя переменной с помощью двух знаков dollar. То есть:

$$a = "world";

После этого в дереве символов РНР определены две переменные: $a с содержимым "hello" и $hello с содержимым "world". Следовательно, оператор

echo "$a ${$a}";

даст тот же вывод, что и

echo "$a $hello";

то есть оба они дадут на выходе: hello world

Чтобы использовать переменные переменные с массивами, вы должны разрешить проблему неоднозначности. То есть, если вы записываете $$a[1], то разборщику необходимо знать, будете ли вы использовать $a[1] как переменную, или вы хотите использовать $$a как переменную, а затем как индекс [1] из этой переменной. Синтаксис для разрешения этой неоднозначности таков: ${$a[1]} для первого случая и ${$a}[1] - для второго.

Пожалуйста отметьте, что переменные переменные не могут использоваться с новыми суперглобалами РНР. Это значит, что вы не можете делать что-либо вроде ${$_GET}. Если вы ищете способ работать с superglobals и старыми HTTP_*_VARS, вы можете попытаться ссылаться на них.


Назад Оглавление Вперёд
Область видимости переменной Вверх Переменные вне PHP