PHP return funktioniert nicht

asseskiller

Lt. Junior Grade
Registriert
Sep. 2005
Beiträge
447
Hi leute,

hab ne funktion geschrieben die so endet

PHP:
	return $ergebnis_ausgabe;
leider kommt kein ergebnis
mach ich folgendes

PHP:
echo $ergebnis_ausgabe;
return $ergebnis_ausgabe;

funzt es aber warum?
 
Kannst du etwas mehr Programmcode schreiben?
 
PHP:
if
   (((($_GET['ha1']!="Handy" or $_GET['ha2']!="Handy") and ($_GET['h1']!="Hersteller" or $_GET['h2']!="Hersteller")) and
   (($_GET['t1']!="Tarif" or $_GET['t2']!="Tarif")  and ($_GET['p1']!="Netz" or $_GET['p2']!="Netz"))) and isset($_GET['status']))
        {
        	
           if($ergebnis>=-$auszahlung and $ergebnis<=0)
                   {$ergebnis_ausgabe="0,-&#8364; ";
                   //echo $ergebnis;
                   }
                   $auszahlung=-1*$auszahlung;
           if($ergebnis<$auszahlung)
                   {$ergebnis_ausgabe = $ergebnis.",-&#8364; Auszahlung";}
         if($ergebnis>0)
                   {$ergebnis_ausgabe = $ergebnis.",-&#8364;";}
           $geben=$ergebnis;

           $button = "<a href='javascript:document.abschicken.submit()' ><img src='img/bestellen_button.png' class='abstand_o_u' border='0'></a>";

           }
           else 
           {
           	$button ='';
           }
    echo $ergebnis_ausgabe;
	return $ergebnis_ausgabe;
 
return gibt den Inhalt der Variable an eine übergeordnete Funktion,
währen echo den Inhalt auf der Webseite ausgibt.

Ich denke mal das war das, was du meintest mit: Es kommt kein Ergebnis.

Wenn du also das Ergebnis "sehen" möchtest, musst du echo verwenden.
 
Das is in der Funktion mit drinne

(hab nicht die ganze funktion gepostet) sorry

müsste also beim funktionsaufruf klappen oder?
 
Also mit return gibts du einen Wert zurück.
Muss mal abschreiben um zu schauen woran es liegt.
 
jupp zb.

echo deineFunction();

oder

$x = deineFunction();
echo $x;

oder was auch immer Du mit dem zurückgegebenen Ergebnis anstellen willst.
 
achso ich muss echo funktion machen^^

schlechtes deusch, sorry
 
Wenn eine andere Funktion diese Funktion aufruft, dann übergibt return den Inhalt der Variable an die andere Funktion.

Wenn nur die Funktion alleine aufgerufen wird, dann übergibt das return das ergebnis an niemanden und es verfällt einfach.

Edit: Oben bereits geklärt.
 
naja klar beim Funktionsaufruf halt. :D

Damit wird die Funktion aufgerufen, ausgeführt und ggf. was zurückgegeben.
Damit kannst du dann weiterarbeiten.

PS:
wenn eine Function nur mit deineFunction(); aufgerufen wurde, verfällt die Rückgabe in jedem Fall im Nirwana.
Es sei denn man hat die dortige Var global gemacht oder umgespeichert. Oder eben den Rückgabewert abgelegt, wie in meinem Beispiel.
Man könnte genauso auch Funktionen verschachteln. (also die Aufrufe)

Eigentlich sind das Grundlagen der Programmierung. ^^
 
Zuletzt bearbeitet:
Ich würds dann eher so machen

$functionsergebnis = deineFunction();

echo $functionsergebnis

dann kannste später noch mit weiterrechnen oderso
 
Zurück
Oben