Как я могу использовать переменные переменные с массивом, чтобы получить результат, как показано ниже?
Я пробовал до сих пор:
// $g_module_id_bar_1['id'] = 5;
$i = 1;
$variablename = 'g_module_id_bar_'.$i;
$key = '\'id\'';
echo $$variablename[$key];
Результат должен быть: 5
Какую версию PHP вы используете? Изменения, внесенные в Единый синтаксис переменных в PHP 7, повлияют на то, как обрабатывается последняя строка.






Вы почти получили это.
Сменить $key = '\'id\''; тоже $key='id';
Причина в том, что PHP понимает, что $key содержит строку. При обычном доступе к массиву вы бы не сделали что-то вроде:
<?php
$var = array("hello"=>"world");
echo $var["'hello'"];
что фактически то, что вы делали
См. Полное решение: https://3v4l.org/qk5ZL
Хорошо, это была моя ошибка. Спасибо за помощь.
@AdamMakowski =) нп
Вы пытаетесь избежать одинарных кавычек, но это бесполезно, просто используйте строковый ключ:
$key = 'id';
echo $$variablename[$key]; // 5
Лучше быть
$g_module_id_bars[1]['id'] = 5;