Niki Hammler: Klassen in PHP

Kann es sein, dass Klassen in PHP nicht ausgereift sind und nicht funktionieren?

Hat wer eine Idee wieso der folgende Code nicht geht?

class submenu
{
  var $entry;
  var $iput;
  var $x;
  var $y;

function submenu()
  {
    $count = $x = $y = $iget = 0;
  }

function add($id, $text)
  {
    $this->entry[$this->iput][0] = $id;
    $this->entry[$this->iput][1] = $text;
    $this->iput++;
  }
}

$menu[0][0] = 0;
$menu[0][1] = "Projekte";
$menu[1][0] = 1;
$menu[1][1] = "TiSock";
$menu[2][0] = 2;
$menu[2][1] = "TCP/IP";
$menu[3][0] = 3;
$menu[3][1] = "Kommentar";
$menu[4][0] = 1;
$menu[4][1] = "Palm PrintAdapter";
$menu[5][0] = 0;
$menu[5][1] = "Über";
$menu[6][0] = 1;
$menu[6][1] = "Mich";
$menu[7][0] = 1;
$menu[7][1] = "Computer";
$menu[8][0] = 0;
$menu[8][1] = "Services";
$menu_cnt = 9;

function menuitem($item, $parent)
{
  global $menu;
  global $menu_cnt;
  global $submenus;
  global $submenusid;

$cnt = $item;
  $level = $menu[$item][0];

$cords = 10;//MaximaleBreite($parent);
  $submenus[$submenusid] = new submenu;
  $submenus[$submenusid]->x = $cords[0] + 10;
  $submenus[$submenusid]->y = $cords[1];
  $int = $submenusid;
  $submenusid++;

while($cnt < $menu_cnt)
  {
    if($menu[$cnt][0] < $level)
    {
      return $cnt;
    }
    if($menu[$cnt][0] > $level)
    {
      $cnt = menuitem($cnt, $cnt-1); // Rekursion
      continue;
    }
    $submenus[$int]->add($menu[$cnt][0], $menu[$cnt][1]);
    $cnt++;
  }
}

menuitem(0, 0);
$submenusid = 0;
for($i = 0; $i < count($submenus); $i++)
{
  for($k = 0; $k < $submenus[$i]->iput; $k++)
    echo "'".$submenus[$i]->entry[$k][1]."'";
  echo "<hr><br>\n";
}

Ganz oben wird in die Array $menu die Menüstruktur geschrieben (später mit SQL). Die Struktur: 2D-Array, erste Spalte: Tiefe des Eintrags, zweite Spalte Name des Eintrags. Zur besseren Übersicht hier eine "Baumansicht":
Projekte  0
.Tisock   1
..TCP/IP  2
...Kommentar  3
.Palm PrintAdapter 4
Über   5
.Mich   6
.Computer  7
Services  8

Dann wird menuitem() aufgerufen und das Menü erstellt. Die Funktion hat eine Rekursion eingebaut.
Bei der letzten for-Schleife will ich die einzelnen Menüs und Untermenüs herauslesen. Und was kommt raus? Nur Dreck.
Auf einmal stehen nur mehr die halben Daten drinnen.

Hat wer ne Ahnung was ich falsch mach? Ich sitz' schon stundenlang dran, find den Fehler aber nicht.

Niki