2016-12-22 2 views
0
$X['high'] = 1234; 
$var = array("X","high"); 

Это работает:Php Dynamic Variable

$temp = $$var[0]; 
$temp = $temp[$var[1]]; 
echo $temp; 

Но это не работает:

echo $$var[0][$var[1]]; 

Почему? Как я могу заставить его работать?

ответ

1

Вы должны объяснить PHP парсер, как вы хотите, чтобы это заявление будет проанализирован:

echo ${$var[0]}[$var[1]]; 

Без скобок вы будете иметь:

php7

Примечание: Массив для преобразования строки в/in/cvZqc в строке 5

Примечание: Неопределенная переменная: Массив в/в/cvZqc в строке 5

php5

Предупреждение: Illegal строка смещения 'высокий' в/в/cvZqc на линии 5

Примечание: Массив для преобразования строки в/в/cvZqc в строке 5

Sample link.

+0

Сделайте его идеальным и покажите, до и после синтаксиса PHP7, или просто обратите внимание на это :) – JustOnUnderMillions