Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
9.4. Переменные переменных
Иногда при программировании возникает необходимость использовать значение переменной в качестве имени. Это явление называется переменные переменных. В некоторых случаях это является очень удобным способом реализации поставленной задачи. Приведем пример:
Переменной $а задается значение best. В РНР существует такая возможность, что значение самой переменной может использоваться с именем новой переменной, которой в последующем будут присвоены следующие значения. Это очень удобно,
когда прежде всего необходимо сохранить место, т. е. размер программы. Но нужно быть предельно внимательным. Для примера рассмотрим реализацию следующей программы:
<?php
$а = "hello";
$$а = "world";
echo "$а $hello";
?>
Первая строка присваивает значение переменной $а = "hello";. Во второй строке $$a="world";, задав таким образом переменную $а, мы тем самым создали новую переменную имени hello, и не только создали, но и присвоили. Теперь в любом коде программы вы без какой-либо проблемы сможете использовать значение переменной $hello = "world". Чтобы убедиться в этом, в самом конце программы приведена функция echo "$а $hello";, которая позволит получить результат в виде «hello world».
ВНИМАНИЕ
При использовании такого способа существует возможность определения переменных большого количества (три и более). Но это приводит только к путанице в программе и трудностям в понимании кода. Старайтесь не делать это более, чем для двух разных переменных.
Рассмотрим еще один пример, похожий на предыдущий, но отличающийся реализацией переменных:
<?php
$а = "РНР";
$$а = "is";
$$$а = "GOOD!";
echo "$а ${$а} ${${$а} }";
echo "$а $PHP $is";
?>
В данном примере обратите внимание на строку $$$а = "GOOD! "; . Эта строка объясняет то, что было сказано ранее, т. е. количество определяемых таким образом переменных может быть очень большое (в данном примере — три). Также посмотрите, как они определяются — перед переменной стоит три знака доллара. Строка echo "$а $$а $ {$ {$а} }";. позволяет вывести фразу «РНР is GOOD!». Функция echo "$а $РНР $ is " ; выводит этот же результат. Две функции были употреблены для того, чтобы вы смогли увидеть разнообразные способы работы и обращения к таким переменным.
ВНИМАНИЕ
Если само имя переменной вы записываете как $$а[1], то синтаксический анализатор должен знать, желаете ли вы использовать $а[1] в качестве переменной или же вам нужна переменная $$а и индекс [1] от этой переменной. Синтаксис при решении этой неоднозначности будет следующий: ${$а[1]} для первого случая и ${$а}[1] для второго.