如何获取Array中元素的层次结构路径

时间:2010-08-23 05:41:30

标签: php arrays

我总是希望获得数组中元素的确切路径。 示例数组:

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

所以,为了达到'bbb4',我需要经历(b => bbb2 => bbb4)。 如何在多维数组中获取此路径?

1 个答案:

答案 0 :(得分: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;