2010-08-23 133 views
0

我一直都想獲取數組中元素的確切路徑。 例數組:如何獲取數組中元素的層次結構路徑

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

因此,對於達到爲 'bbb4',我需要經過(b => bbb2 => bbb4)。 如何在多維數組中獲取此路徑?

回答

7
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; 
+0

是的,它工作。謝謝 – 2010-08-24 09:09:02

相關問題