PHP manual не распространяется на использование переменной -переменные индексы массива слишком тщательно, но в комментариях упоминается, что они не работают так, как вы это выяснили.
Некоторые обходные предусмотрены, хотя:
$array[1][1]['test']="hello world"
$var1="array";
$var2="[1][1]";
$var3="['test']";
$tmp=$var1.$var2.$var3;
eval('echo $'.$tmp.';');
выше результатов в ожидаемом 'привет мир' продукции. Тем не менее, я бы отказался от использования eval()
в любом коде.
Comment (по нику в customdesigns dot ca, датированный 2006 годом) на странице руководства также предоставляет функцию, которая может обрабатывать переменные массивы с индексами.
См. [Страница руководства для переменных переменных] (http://php.net/manual/en/language.variables.variable.php) Я не думаю, что вы можете поместить знаки в эту концепцию. – RiggsFolly
Итак, вы объявляете многомерный массив, и вы хотели бы отображать значения? –
Если вы действительно * действительно хотите сделать это, вы можете использовать 'echo eval (" return \ $$ var1 $ var2 $ var3; ")'. Однако я бы настоятельно советовал ему. – Phylogenesis