Генерация переменных в php

12
opaHzheBb1u
На сайте с 26.05.2006
Offline
168
1781

Здравствуйте.

Есть переменная $a = 'x';

и переменная $b = 'z';

Как мне получить в коде переменную $xz?

Спасибо

to4kaRU
На сайте с 01.09.2005
Offline
14
#1


$xz = 'test';
$a = 'x';
$b = 'z';
$tmp = $a . $b;
echo $$tmp;

Я правильно Вас понял?

alexspb
На сайте с 14.11.2005
Offline
187
#2

есть такая функция eval();

alexspb
На сайте с 14.11.2005
Offline
187
#3

to4kaRU, вы бы проверили свой код сперва. Вот ваш и потом исправленный.

<?php

$xz = 'test';

$a = 'x';

$b = 'z';

$tmp = $a . $b;

echo $$tmp;

//создаем переменную

eval('$'.$a.$b.'="10";');

echo '<br>';

echo "\$xz=" . $xz;

?>

to4kaRU
На сайте с 01.09.2005
Offline
14
#4
alexspb:
to4kaRU, вы бы проверили свой код сперва. Вот ваш и потом исправленный.

код проверен и рабочий.

Немного перепишу, но смысл, думаю, понятен


$a = 'x';
$b = 'z';
$tmp = $a . $b;
$$tmp = 'test';
echo $xz;
Kolyaj
На сайте с 28.03.2006
Offline
69
#5
alexspb:
//создаем переменную
eval('$'.$a.$b.'="10";');
echo '<br>';
echo "\$xz=" . $xz;

А как обращаться к переменной? xz в данном случае для примера. Имя может быть любое.

alexspb
На сайте с 14.11.2005
Offline
187
#6

Kolyaj, это вы у топикстартера спросите, она ему была нужна ))))

А если серьезно, все от задач зависит. Я думаю, что сама необходимость обращаться к подобного рода конструкциям говорит о странности задач.

eval('$'.$a.$b.'="10";');

Эта конструкция вам в дальнейшем и позволит обращаться к переменной

eval('if($'.$a.$b.' > 10 ){echo ">10";}else{echo "<=10";}');

Удобно? )))

alexspb
На сайте с 14.11.2005
Offline
187
#7

Не сразу понял, что вы про вывод переменной.

Можно так было

eval('echo \'<br>\';echo "\$'.$a.$b.'=" . $'.$a.$b.';');

(исправил)

Kolyaj
На сайте с 28.03.2006
Offline
69
#8

А чем не устраивает способ, предложенный to4kaRU?

alexspb
На сайте с 14.11.2005
Offline
187
#9

Kolyaj, так я специально сохранил в примере его код, а потом свой добавил. Поробуйте и посмотрите что выводит.

Вам приходится объявлять переменную $xz и присваивать ей значение!

Добавление:

заметил внесенное исправление, теперь устраивает )))

opaHzheBb1u
На сайте с 26.05.2006
Offline
168
#10

Вы меня простите за неграмотную постановку задачи.

Нужно вот что:

у меня в одной переменной есть значение и в другой.

нужно чтобы имя третьей переменной было составлено из значений первой и второй:

$a = "c";

$b = "d";

Вот это у меня есть. А мне нужно обратиться к переменной $cd.

Просто выполняется цикл, в котором значения $a и $b - разные.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий