简体   繁体   中英

How to get hierarchy path of an element in an Array

I always want to get the exact path of an element in an array. Example array:

array(a=>'aaa', 'b'=> array ('bbb1', 'bbb2' => array('bbb3', 'bbb4')));

So, for reaching to 'bbb4', I need to go through ( b => bbb2 => bbb4 ). How to get this path in multidimensional array?

function get_from_array($toBeSearchedArray , $searchValue , &$exactPath)
 {
        foreach($toBeSearchedArray as $key=>$value)
        {
                  if(is_array($value) && count($value) > 0)
               {
                       $found = get_from_array($value , $searchValue , $exactPath);
                       if($found)
                       {
                            $exactPath = $key."=>".$exactPath;
                            return TRUE;
                       }
               }
               if($value == $searchValue)
               {
                      $exactPath = $value;
                      return true;
               }
        }
        return false;
 }

$exactPath = "";
$argArray = array('a'=>'aaa', 'b'=> array ('bbb1', 'bbb2' => array('bbb3', 'bbb4')));
get_from_array($argArray , "bbb4" , $exactPath); 
echo $exactPath;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM