André Laugks: Array

Beitrag lesen

Hallo!

Ich möchte/muß eine Navigation in einem Array abbilden. Dieses Array möchte ich dann rekursiv durchlaufen. Das funktioniert auch soweit.

Nur bin ich nicht wirklich zu frieden.

$nav = array(
    '1.1 Ebene',
    array('2/1 Ebene',
       '2/2 Ebene',
       array('3/1 Ebene',
          array('4/1 Ebene',
             '4/2 Ebene'
       )
     )
    ),
    '1.2 Ebene',
    array('2/1 Ebene',
       '2/2 Ebene',
       array('3/1 Ebene',
          array('4/1 Ebene',
             '4/2 Ebene'
       )
     )
    ),
   );

<?PHP
function print_var($var)
 {
  echo "<pre>";
  echo var_dump($var);
  echo "</pre>";
 }

$test['1. M'][] = "1 Menü";
$test['1. M']['1.1 M'][] = "1.1 Menü";
$test['1. M']['1.2 M'][] = "1.2 Menü";
$test['1. M']['1.3 M'][] = "1.3 Menü";
$test['1. M']['1.3 M']['1.3.1 M'][] = "1.3.1 Menü";
$test['1. M']['1.3 M']['1.3.2 M'][] = "1.3.2 Menü";
$test['2. M'][] = "2. Menü";

function rek_array($nav_array, $tiefe)
 {
  $tiefe++;
  while(list($key, $array) = each($nav_array))
   {
    if(is_array($array))
     {
      rek_array($array, $tiefe);
     }
     else
      {
       echo "<div style="margin-left:" . (10*$tiefe) . "">" . $array .  " (" . $tiefe . ")</div>\n";
      }
   }
 }

rek_array($test, -1);

print_var($test);

?>

MfG, André Laugks

--
L-Andre @ gmx.de