tags:

views:

35

answers:

1

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?

+2  A: 
function get_from_array($toBeSearchedArray , $searchValue , &$exactPath)
 {
        foreach($toBeSearchedArray as $key=>$value)
        {
                  if(count($value) > 0 && is_array($value))
               {
                       $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;
Maulik Vora
yes, it is working. Thanks
Satya Prakash