Array tiefe ermitteln

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Array tiefe ermitteln

    ok.. hat sich schon erledigt.. bitte löschen..

    EDIT: ok.. wieder restored ;-)

    Hallo Leute,

    ich stecke gerade irgendwie fest. Kann mir jemand einen Tipp geben, wie ich die tiefe eines Arrays ermitteln kann? Also ich will wissen was die maximale Tiefe des Arrays ist.

    Hier mal ein Beispiel:
    PHP Code:
    $test = array ( "Peter" => array (
                                        
    "Thomas"  => array("Hanz" => array()),
                                        
    "Norbert" => array(
                                                            
    "Hanelore"  => array(
                                                                                
    "Gretel" => array("Josef" => array()),
                                                                                ),

                                                            
    "Adolf"     => array("Julia" => array()),
                                                          ),
                                      )
                  );

    print_r($test);

    function 
    getLevel($user_ary$level 0)
    {
        
    $level++;
        foreach (
    $user_ary as $user => $value)
        {
          echo 
    "User "sprintf("%10s"$user)." - in Level = " $level "\n";
          
    $level getLevel($value$level);
        }
        return 
    0;
    }

    echo 
    getLevel($test); 
    Bei dem Beispiel sollte dann eigentlich 4 rauskommen.

    Wobei :

    Peter = Ebene 0
    Norbert = Ebene 1
    Hanelore = Ebene 2
    Gretel = Ebene 3
    Josef = Ebene 4

    Wäre euch für nen Tipp dankbar.

    Gruß,
    Thomas

    Und hier die Lösung:
    PHP Code:
    function getLevel($user_ary$level 0)
    {
        
    $return $level;
        foreach (
    $user_ary as $user => $value)
        {
          
    $level_new getLevel($value$level 1);
          if(
    $level_new $return)
            
    $return $level_new;
        }
        return 
    $return;
    }

    echo 
    getLevel($test); 
    Last edited by aLiEnTxC; 20-11-2008, 17:06.

  • #2
    bitte die beiträge nicht löschen ! und falls eine lösung gefunden wurde, bitte freundlicherweise auch posten. falls im forum einer ein ähnliches Problem hat.

    * verwarn * und beim nächsten mal werden die edit-rechte entzogen.

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Comment


    • #3
      ok, sorry: Hab ihn wieder rein kopiert, mit lösung

      Comment

      Working...
      X