Tiefe eines multidimensionalen Arrays bestimmen

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

  • Tiefe eines multidimensionalen Arrays bestimmen

    Hallo,

    ich möchte die maximale Anzahl Arrays in einem Array wissen, sprich wieviele Dimensionen ein Array enthält. Ich habe mir schon einige rekursive Funktionen ausgedacht aber noch keinen Erfolg gehabt. :-(
    Hat jemand nen Tipp für mich?

  • #2
    zeig doch mal deine ansätze, dann kann man die evtl. verbessern
    it's not a bug,
    it's a feature!

    Comment


    • #3
      Nach einigen Hirnknoten habe ich zumindest eine Lösung erarbeitet die funktioniert. Elegant ist sie vielleicht nicht unbedingt und performant...

      Code:
      function rec($a,$level=1){
        $maxlevel=$level;
        foreach($a as $k=>$v){
          if(is_array($v)){
            $l = rec($v,$level+1);
            if($l > $maxlevel) $maxlevel = $l;
          }
        }
        return $maxlevel;
      }
      
      $cats = array(
       'Ebene 1' => array(
        'Ebene 2' => array(
          0 => 'Eintrag',
          'Ebene 3' => array(
            0 => 'Eintrag A',
            1 => 'Eintrag B',
          ),
        ),
       ),
       'Ebene 1.2' => array(
       ),
      );
      $depth = rec($cats);

      Comment

      Working...
      X