2010-08-23 136 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

相关问题