У меня есть мульти двумерный массив в PHPВыберите элементы из многомерного массива, используя строку (PHP)
$somearray = array(
'item1' => array(
'subitem1' => 'Some value',
'subitem2' => 'Some other value',
'subitem3' => array(
'subsubitem' => 'A sub value'
)
),
'item2' => 'a different value'
);
Я тогда строка карту, которая представляет значение которой я хочу, чтобы выбрать:
"item1/subitem3/subsubitem"
Как я могу конвертировать из этой строки карты массива, в:
$wanted_value = $somearray['item1']['subitem3']['subsubitem'];
, но учитывая, что массив может быть любым количеством уровней в глубину.
'explode' своего пути, затем траверс массива с рекурсивной функцией. – mario
Я не думаю, что это должно быть рекурсивным – tobspr
Просто для удовольствия: 'eval ('$ wanted_value = $ somearray ["'. Str_replace ("/", '"] ["', $ map). '"];'); «Сделано! Но серьезно, используйте метод @ TobSpr. =) – jszobody