вывести информацию с массива, используя переменную в переменной

Просто как простой пример. Есть несколько вариантов имен ключей:

$main = array();
$main['name']['firstname'] = 'Vasya';
$main['name']['lastname'] = 'Pupkin';
$main['adress'] = '';
$main['city'] = 'Moscow';

Ключ Фамилии закидываю в переменную

$key_lastname = "['name']['lastname']";

В нужном мне случае вывести информацию через переменную переменных

$test = ${'main'.$key_lastname};

echo $test;

выводит ничего ...

Не смог найти информации как это можно сделать и можно ли вообще?


Ответы (1 шт):

Автор решения: ArchDemon

Сделать можно и не так сложно. Только ключи массива нужно записывать немного другим образом.

$keys = "name.lastname";

$result = array_reduce(explode('.', $keys), function($carry, $item) {
    return $carry[$item];
}, $main);

echo $result;
→ Ссылка