Access Multidimensional Array element with out knowing parent elements

后端 未结 4 929
忘了有多久
忘了有多久 2021-01-16 22:25

I have function that returns the following multidimensional array. I don\'t have control of how the array is formed. Im trying to access the \'Result\' elements. This issue

4条回答
  •  隐瞒了意图╮
    2021-01-16 23:14

    An easy option to search the array keys/values recursively is to use a recursive iterator; these are built-in classes, part of the Standard PHP Library.

    $result   = false;
    $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
    foreach ($iterator as $key => $value) {
        if ($key === 'Result') {
            $result = $value;
            break;
        }
    }
    
    var_dump($result);
    

    The bonus here is that you could, if you wanted to, check the depth of the Result item ($iterator->getDepth()) in the array structure and/or check one or more ancestor keys ($iterator->getSubIterator(…)->key()).

提交回复
热议问题