Hugo Zeiss: Funktion in einer Funktion ?!?!?

Beitrag lesen

Guten morgen liebes Forum,

ich möchte in einer Funktion (datum_check) eine
Funktion (datum_format) aufrufen und den jeweiligen
Inhalt freigeben lassen.
CODE:
------

function datum_format($tag,$monat,$jahr) {
 if(strlen($tag[$i]) == 1) {
  $tag[$i] = "0".$tag[$i];
 }
 if(strlen($monat[$i]) == 1) {
  $tag[$i] = "0".$tag[$i];
 }
 if(strlen($jahr[$i]) == 1) {
  $tag[$i] = "0".$tag[$i];
 }
 $datum[$i] = $tag[$i]."-".$monat[$i]."-".$jahr[$i];
 return $datum[$i];
}

function datum_check($tag,$monat,$jahr) {
 for ($i=0;$i<2;$i++) {
  datum_format($tag,$monat,$jahr); <- hier scheitert es
  if(!checkdate($monat[$i],$tag[$i],$jahr[$i])) {
   echo "Fehler: ".$datum[$i]." ist nicht richtig<br>";
  }
  else {
   echo "Datum: ".$datum[$i]." ist ok<br>";
  }
 }
}

Es wird kein Fehler ausgegeben. Es erscheint keine $datum[$i]
Ausgabe. Wenn ich allerdings hingehe und den gesamten Inhalt
von datum_format ausschneide (bis auf return-Zeile) und
anstelle des Funktionsaufrufs in datum_check einfüge, bekomme
ich die gewünschte Ausgabe.

Wo liegt der Fehler?

Danke für Eure Hilfe
Hugo