Dynamischer Zugriff auf mehrdimensionale Array-Werte

Ich versuche eine Funktion zu finden (oder zu erstellen). Ich habe ein mehrdimensionales Array:

$data_arr = [
    "a" => [
        "aa" => "abfoo",
        "ab" => [
            "aba" => "abafoo",
            "abb" => "abbfoo",
            "abc" => "abcfoo"
        ],
        "ac" => "acfoo"
    ],
    "b" => [
        "ba" => "bafoo",
        "bb" => "bbfoo",
        "bc" => "bcfoo"
    ],
    "c" => [
        "ca" => "cafoo",
        "cb" => "cbfoo",
        "cc" => "ccfoo"
    ]
];

Und ich möchte mit einem eindimensionalen Array wie folgt auf einen Wert zugreifen:

$data_arr_call = ["a", "ab", "abc"];

someFunction( $data_arr, $data_arr_call ); // should return "abcfoo"

Dies scheint, als gäbe es wahrscheinlich bereits eine Funktion für diese Art von Dingen. Ich weiß nur nicht, wonach ich suchen soll.