$X['high'] = 1234;
$var = array("X","high");
Это работает:
$temp = $$var[0];
$temp = $temp[$var[1]];
echo $temp;
Но это не работает:
echo $$var[0][$var[1]];
Зачем? Как я могу сделать это работает?
Вы должны объяснить php-парсеру, как вы хотите, чтобы этот оператор был проанализирован:
echo ${$var[0]}[$var[1]];
Без скобок у вас будет:
php7
Примечание: преобразование массива в строку в / in / cvZqc в строке 5
Примечание: неопределенная переменная: массив в / in / cvZqc в строке 5
php5
Предупреждение: недопустимое смещение строки ‘high’ в / in / cvZqc в строке 5
Примечание: преобразование массива в строку в / in / cvZqc в строке 5
Других решений пока нет …