Двойной знак доллара переменная переменной значение как имя

Переменные и их значения – мы уже давно привыкли к этой системе. После знака доллара $ идёт имя переменной, затем знак равенства, после чего следует значение. Иногда это число, иногда строка с текстом и так далее.
Но как сделать так , чтобы значение одной переменной стала именем? Здесь следует сразу вспомнить о двойном долларе.
Два знака доллара рядом с именем переменной: $$var используются, когда необходимо значение одной переменной, использовать как имя для другой.

Например так:
<?
$varA = 'This is my Name!';

$varB = 'varA';

echo $$varB;
/* скрипт напечатает строку: This is my Name! */
?>

Значение переменной $varB стала ссылкой на переменную $varA .
Это механизм, в частности, хорошо использовать в случае осуществления целого ряда преобразований в заданном тексте. Мы вначале можем объявить что меняем; затем определить имена переменных, которые будут участвовать в замене; и, уже в основном теле скрипта, предать переменным нужные значения.
Для этого пишем учебный PHP скрипт:
<?
$text = "Today my name is <<John>>! And I'm a <<boy>>. <br /> But you are a <<girl>>. And your name is <<Joanna>>.";

$ListOfStringsToReplace = array(
"<<John>>",
"<<boy>>",
"<<Joanna>>",
"<<girl>>"
);

$ListOfValToReplace = array(
'NewJohnName',
'NewJohnSex',
'NewJoannaName',
'NewJoannaSex'
);

$NewJohnName = "Mary";
$NewJohnSex = "girl";
$NewJoannaName = "Bob";
$NewJoannaSex = "boy";
for($i=0;$i<count ($ListOfStringsToReplace);$i++){
$text = str_replace($ListOfStringsToReplace[$i],$$ListOfValToReplace[$i],$text);
}
echo $text;
/* Today my name is Mary! And I'm a girl. <br /> But you are a boy. And your name is Bob.
Скрипт поменял пол мальчика Джона на женский и назвал его Мэри, а пол девочки Джоанны на мужской и дал ей новое имя - Боб.
*/
?>

Такой скрипт можно развить в систему шаблонов для Вашего сайта, когда в одном месте храниться заготовка с дизайном , а сам скрипт осуществляет замену нужных Вам блоков на динамически подключаемый контент.

Опубликовано 29.07.2015 в 15:22 · Автор Вебдизайнеру, сисадмину, вебмастеру · Ссылка
Рубрики: PHP программирование · Теги: , , , , , , ,