Динамические переменные (переменные переменных)

10 августа 2018
Динамические переменные или как их ещё называют «переменные переменных» используются для работы с переменными через другие переменные. Этот механизм встречается в обработках форм, когда нужно обращаться к значениям полей с помощью отдельных переменных.

Способ 1

Используя выражения ${строка_с_названием_переменной}, динамически создаются переменные с именами $pole_1, $pole_2, $pole_3
<form action="?" method="post">
	<input type="text" name="pole_1" value="ААА">
	<input type="text" name="pole_2" value="БББ">
	<input type="text" name="pole_3" value="ВВВ">
	<input type="submit" name="act" value="Отправить">
</form>

<?php
/* Получение данных формы */
if(isset($_POST['act']) && $_POST['act']=='Отправить')
{
	foreach($_POST as $z => $v)
	{
		${$z} = $v; /* Создание и запись значения в переменную */
	}

	echo $pole_1; /* Выведет ААА */
	echo $pole_2; /* Выведет БББ */
	echo $pole_3; /* Выведет ВВВ */
}
?>

Способ 2

Создание переменной через конструкцию $$имя_переменной
$a = 'b';
$b = 'Привет всем';

echo $$a; /* Выведет 'Привет всем' */