Array tiefe ermitteln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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); 
    Zuletzt geändert von aLiEnTxC; 20.11.2008, 18: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

    Kommentar


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

      Kommentar

      Lädt...
      X