Satya Prakash
Satya Prakash

Reputation: 3502

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?

Upvotes: 0

Views: 1908

Answers (1)

Maulik Vora
Maulik Vora

Reputation: 2584

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;

Upvotes: 8

Related Questions