Os valores das matrizes podem ser acessados ​​por variables ​​variables?

Eu tenho uma matriz que só posso acessar corretamente através de variables ​​variables, assim:

$foo['bar'] = "pie"; $fixed_name_variable = "foo['bar']"; echo $$fixed_name_variable; 

O que na pie do eco de theroy. Exceto que não está devolvendo nada. Então eu preciso saber se essa abordagem é realmente viável ou se eu precisar de uma repensação nela.

Apenas notei. Na segunda linha, a barra deve estar entre aspas?

Embora eu odeie encorajar esse comportamento, você pode usar o eval para alcançar o que você tem em uma extensão limitada.

 $foo['bar'] = "pie"; $fixed_name_variable = "foo['bar']"; $a = eval("return $$fixed_name_variable;"); echo $a; //outputs "pie" 

$foo[$key_var] deve funcionar, a menos que eu não tenha entendido sua pergunta?

Não, não acho que isso seja possível. A única coisa (obviamente) possível é usar um índice variável e acessar $foo[$bar] .

No entanto, o uso de variables ​​variables ​​geralmente é uma prática muito má, especialmente porque eles fazem a debugging e documentação automática / pesquisa variável tão terrivelmente difícil. Geralmente é melhor não usá-los, mas usar uma matriz em vez disso.