Получить значение Array из вложенного Array с Array в качестве отображения родительского / дочернего

0

Допустим, у меня есть такой массив:

$a = array(
    "foo",
    "bar"
);

а также

$b = array(
    "foo" => array(
        "bar" => 1
    )
);

и я хочу использовать $a чтобы получить $b[$a[0]][$a[1]]

Предположениями являются 1.. * длина уровней $a и 1.. * в $b.

  • 0
    Пожалуйста, поделитесь тем, что вы пробовали.
  • 1
    ... и что вы пытаетесь получить. Почему у вас не работает $b[$a[0]][$a[1]] ?
Показать ещё 2 комментария
Теги:
arrays
dynamic
mapping

2 ответа

2
Лучший ответ
$result = $b;
foreach ($a as $index) {
    $result = $result[$index];
}
echo $result;
  • 0
    Спасибо работает отлично
  • 0
    Это не работает вообще! Потому что на второй итерации это: $ b ["bar"], которого не существует!
Показать ещё 1 комментарий
1

Это должно сработать для вас:

<?php

    //As an example
    $a = array(
        "foo",
        "bar",
        "xy",
        "ab"
    );

    $b = array(
        "foo" => array(
            "bar" => array(
                "xy" => array(
                    "ab" => 14  
                ),
            ),
        )
    );

    $end = $b;
    foreach ($a as $index)
        $end = $end[$index];

    echo $end;

?>

Вывод:

14

Ещё вопросы

Сообщество Overcoder
Наверх
Меню