Tiefe eines multidimensionalen Arrays bestimmen

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

  • 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!

    Kommentar


    • #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);

      Kommentar

      Lädt...
      X