[PHP] Wozu dient return()?

pho3niX

Lt. Commander
Registriert
Juli 2003
Beiträge
1.750
Hallo zusammen!

Ich habe mal eine Frage, die mir weder mein schlaues PHP-Buch, noch das PHP-Manual beantworten konnte:

Wozu braucht man
PHP:
return()
?

Ich weiß, dass sie den Wert "zurückgibt", aber was heißt dieses "zurückgeben" ?
Gibt die Funktion den Wert der Variable wie echo() zurück, oder wie muss ich mir das vorstellen?

Danke schon mal im Vorraus!

P.S. Ich hab schon nach Antworten gesucht (und auch gefunden), aber durch die werde ich auch nicht schlauer...
 
PHP:
function tuwas (  )
{
  $wert = "Gib mich zurück!";
  return ( $wert );
}
return liefert den Wert, den eine Funktion irgendwie ermittelt, zurück
 
Das weiß ich ja auch :p

Aber ich frag mich halt, wozu?

Ich mein, wenn ich der Variablen "$wert" etwas zuweise, dann ist der Wert doch in der Variablen gepeichert...also wozu muss ich diesen Wert dann noch mal zurückgeben?

Sorry, wenn ich mich n bissl dämlich anstell, aber ich kapier das einfach nicht :o
Bin doch auch nur ein 14jähriger, dummer, Gymnasiast... ;)
 
wenn du z.B eine Funktion hast:

function machirgendwas($parameter1, $parameter2)
{
$ergebnis = $parameter1 + $parameter2;

return $ergebnis;
}

$dasistdasergebnis = machirgendwas(5, 5);

wenn du z.B jetzt die Funktion machirgendwas aufrufst und 2 Parameter übergibts, dann addiert er diese Werte. Nun gibt er in der Funktion den Wert der Variablen Ergebnis zurück. Denn kannst du z.B wiederum in einer anderen Variable speichern.
 
James-Ryan schrieb:
es gibt aber auch lokale variablen die nur in der funktion gültigkeit haben. und wenn eine andere funktion diese eben braucht, musst du ihr die übergeben.

Variablen in einer Funktion sind immer lokal und nur dort gültig :D
 
Du hast wahrscheinlich an die Objektorientierung in Java gedacht. Denn dort kannst du eine Klassenvariable als private deklarieren und mit sogenannten set- und -get Methoden auf die Werte zugreifen.
 
jo ich war gerade nicht wirklich bei PHP, sry mein fehler ;)
hab wo du geantwortest hast schon die beitrag löschen funktion gesucht :rolleyes:
 
Danke erst mal @k7power :D

Aber ich will das jetzt auch noch mal so sagen, wie ich das verstanden hab ;)

Also:

Wenn ich eine Variable mit return() zurückgebe ( z.B. return $ergebnis ), dann kann ich mit der Variablen $ergebnis auch außerhalb von der Funktion weiterarbeiten. In einer Funktion definierte Variablen sind nämlich ohne return() nur in eben jener Funktion gültig.

Stimmt das so?
 
pho3niX schrieb:
Danke erst mal @k7power :D

Aber ich will das jetzt auch noch mal so sagen, wie ich das verstanden hab ;)

Also:

Wenn ich eine Variable mit return() zurückgebe ( z.B. return $ergebnis ), dann kann ich mit der Variablen $ergebnis auch außerhalb von der Funktion weiterarbeiten. In einer Funktion definierte Variablen sind nämlich ohne return() nur in eben jener Funktion gültig.

Stimmt das so?


^^nicht ganz.

return übergibt den Inhlt der Variablen, aber nicht die Variable selbst ;)
 
pcwTJaR schrieb:
^^nicht ganz.

return übergibt den Inhlt der Variablen, aber nicht die Variable selbst ;)
und wie kann ich dann auf diesen Inhalt außerhalb der Funktion zugreifen?

@The Prophet
Mein Problem ist ja grade, dass ich so wie das da steht nicht so wirklich schlau werde. Ich brauch immer schön leichte Begriffe (die auch n Kleinkind versteht ;)). Deswegen hab ich ja diesen Thread aufgemacht, weil ich eben nichts gefunden hab, dass es mir erklärt :D

P.S.: Vielleicht sollte ich noch dazu sagen, dass ich noch ein Anfänger in Sachen programmieren bin ^^
 
Zuletzt bearbeitet:
^^Du kannst auf den Inhalt ganz normal zugreiffen, ind em du ihn einer Variablen zuweist wie oben beschrieben.

Ich wollte nur nochmal sagen, dass, wenn du zB eine globale Variable zurückgibst, du nicht dadurch, dass du die Variable änderst, die den Rückgabewert erhalten hat, auch die globale Variable änderst.

Soll heissen: Return schreib einen Wert in eine Variable der aufrufenden Funktion.

Wenn das jezz ein bisschen schwer zu verstehn ist (ist es bestimmt), google mal nach Call-By-Value und Call-By-Reference.
 
Also ich hab jetzt ein Bisschen mehr verstanden, trotzdem weiß ich immer noch nicht, wie ich jetzt diesen Wert wieder abrufe.

Wenn mir jemand noch mal ein kommentiertes Beispiel schreiben könnte, wäre das echt nett ;)

Und ich hätte da noch eine Frage, die sich mir beim lesen so mancher Erklärungen aufgetan hat:
Was ist ein "Argument" ?
 
beispiel:
PHP:
function text()
{
 $var='Dieser Text wurde von der Funktion zurückgegeben';
 return $var;
}

$var2='hallo, ';
echo $var2;
$var2=text();
echo $var2;

Ein Argument ist eine Variable, die du der Funktion übergibst. Wird auch Parameter genannt.
 
Ahh ok ;)

Jetzt hab ichs verstanden! THX

Und ich weiß was Parameter sind, ich wusste nur nicht, dass man die auch Argumente nennt ^^

Also noch mal ein gaanz großes Danke an alle :D
 
Zurück
Oben