return Befehl...

Subwoover

Erfahrenes Mitglied
Ich habe mir zwar ein Buch gekauft über PHP, verstehe aber nicht was es mit dem return Befehl auf sich hat.

Könnte mir jemand mal erklären was an folgendem Beispiel der Return-befehl macht?
PHP:
<?

function summe($zahl1, $zahl2) {
    return $zahl1+ zahl2;
}

$ergebnis = summe(9, 15);

echo ("Das Ergebnis ist: ");
echo ("$ergebnis);

?>
 
return sorgt dafür, daß die Funktion summe() einen Wert zurückgibt.
In diesem Fall gibt die Funktion die Zahl 24 zurück und wird der Variable $ergebnis zugewiesen.

Statt den zurückgegebenen Wert erst in $ergebnis zu schreiben, kannst Du es auch so machen:

PHP:
<?

function summe($zahl1, $zahl2) {
    return $zahl1 + $zahl2;
}

echo "Das Ergebnis ist: ";
echo summe(9,15);

?>

Es ist aber oft wohl besser mit Variablen zu arbeiten, wegen der Übersicht und aus anderen Gründen. Bei echo braucht man übrigens keine Klammern.
 
Zuletzt bearbeitet:
So wage habe ichs verstanden.

Ja ich weiss echo ohne klammern, ich habe nur das beispiel aus dem buch genommen...

Aber was genau macht jez der return befehl?
Er bestimmt in der funktion dass die summe gebildet werden soll und mit dem echo befehl gebe ich die dann aus oder?
 
return bestimmt gar nichts hehe

Du kannst das auch so schreiben:

PHP:
function summe($zahl1, $zahl2) {
   $ergebnis = $zahl1 + $zahl2;    
   return $ergebnis; 
}

Hier sagt return der Funktion: "Wenn Du aufgerufen wirst, gib den Wert in $ergebnis zurück!" Statt der Variable kannst Du die Zahlen direkt hinter return addieren, wie Du's vorhin gemacht hast. Es ist kein Unterschied.

Aufruf der Funktion:

PHP:
$variable = summe(10,5);

summe() wird aufgerufen. 10 und 5 werden addiert und in $ergebnis geschrieben. Return veranlaßt, daß die Funktion den Wert in $ergebnis zurückgibt. Also bekommt $variable den Rückgabewert der Funktion.
$variable hat dann den Wert 15.

Am begreift man sowas, indem man einfach rumprobiert..
 
Aaaaaaah das heisst:
return sagt der Funktion dass die beiden Zahlen addiert vorkommen, also wenn ich dann eine variable festlege die das ergebnis ausgibt, dann soll das bereits summiert rauskommen oder?

Aber wo ist dann der Unterschied zu dem Beispiel hier:

PHP:
<?
$zahl1 = 2;
$zahl2 = 3;

$summe = $zahl1 + $zahl2;

echo "Die summe ist $summe";
?>

Wo ist da der Unterschied?
 
:rolleyes:

Wie soll ich das erklären.. hilft mir einer? :)

Also das Ergebnis ist das gleiche. Aber stell Dir vor, die Funktion summiert nicht nur, sondern macht andere komplizierte Berechnungen und gibt das Ergebnis zurück. Diese Funktion kannst Du dann überall im Script immer und immer wieder aufrufen.

Ohne Funktion mußt Du jedesmal diese komplizierte Berechnung hinschreiben. Und wenn darin ein Fehler auftaucht, mußt Du es überall verbessern. Wenn Du dagegen eine Funktion benutzt, reicht es, den Fehler dort zu verbessern. Das ist einer der Vorteile von Funktionen.


Nachtrag: Schau Dir das hier an.
 
Zuletzt bearbeitet:
Jau das habe ich ja verstanden und das kann ich soweit glaub ich auch ;)

Nur wieso ist es dann sinnvoll oder gar notwendig den return befehl in einer funktion zu verwenden?
 
:confused:

Ohne return-Anweisung kann die Funktion doch keinen Wert zurückgeben.

PHP:
function summe($zahl1, $zahl2) {
   $ergebnis1 = $zahl1 + $zahl2;
}

$variable = summe(10,5);

So, ohne return gibt die Funktion einfach keinen Wert zurück. $variable bekommt rein gar nichts und Du kannst mit echo auch nichts ausgeben. Wenn da aber "return $ergebnis;" drin ist, dann gibt die Funktion einen Wert zurück ... :) wie schon gesagt...
 
Asoooooo ich dachte return im übersetzten sinne von "hau weg den dreck"

aso aber es ist gemeint er übergibt also den wert der funktion ;)

Jo ich glaube jez habs sogar ICH gecheckt, danke dir!
 
Kein Problem :)

lol Hauch weg den dreck? :-)
Schau mal was return übersetzt bedeutet :p


Aber warte mal *g*
Er übergibt den Wert nicht der Funktion, sondern er macht, daß die Funktion einen wert zurückgibt :-) :-)
 
Zurück