Funktion in einer Funktion ?!?!?
Hugo Zeiss
- php
0 Tom
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
Hallo Hugo,
wenn Du eine Funktion aufbaust
$ckeck($wert)
{
$wert=$wert+1; ### oder auch $wert+=1;
#... ### oder was auch immer
return $wert;
}
dann musst Du nachreher beim Aufruf der Funktion das Funktionsergebnis auch entgegennehmen:
$ergebnis = $check(30);
echo $ergebins;
Bau das mal in Deine geschachtelte Funktion ein:
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 einbauen
## $datum = datum_format($tag,$monat,$jahr);
## dann funktionierts...
if(!checkdate($monat[$i],$tag[$i],$jahr[$i])) {
echo "Fehler: ".$datum[$i]." ist nicht richtig<br>";
}
else {
echo "Datum: ".$datum[$i]." ist ok<br>";
}
}
}
Grüße
Tom