Frage zu Return Werten einer Funktion

SantaCruze

Erfahrenes Mitglied
Hallo erstmal :) Ich habe eine kleine Frage.

Mir sagte mal jmd das eine Funktion immer nur einen Wert wiedergeben kann, aber was ist damit gemeint? Wäre dies Return $variable; ?

Ich habe von einem bekannten eine Funktion bekommen, die eine Schleife beinhaltet, wo das ganze in etwa so aussieht.
PHP:
$planetlist[$i]['str_owner'] = $this->user_get_name($userid);
$planetlist[$i]['name'] = $this->planets_get_pname($gal, $sys, $plan);
$planetlist[$i]['score'] = $this->planets_get_score($gal, $sys, $plan);
$planetlist[$i]['allyid'] = $this->ally_member_of($userid);
$planetlist[$i]['plan'] = $this->planets_get_pimage($plan);

$ret_list = $planetlist;
return $ret_list;

Wäre es damit nicht möglich mehrere Werte wiederzugeben ? Also jeden Wert von $planetlist ?
 
Genau so wie in deinem Beispiel sollte es auch möglich sein.
Hast du es schon getestet?
 
Es ist kein Problem ein Array aus einer Funktion zurueck zu geben.
Der Funktion ist es im Grunde ziemlich egal was sie zurueckgibt.

Weiterhin kannst Du Dir auch den Umweg ueber $ret_list sparen und gleich $planetlist zurueckgeben.
 
Nein es ging mir generell nur um die Frage, in weit weit man Werte aus einer Funktion wiedergeben kann. Aber die Antwort genügt mir xD Dankeschön.
 
Prinzipiell kann immer nur ein Wert zurückgegeben werden. Ein Array ist dabei auch nur ein Wert, der allerdings ein Container für mehrere Werte ist.

Um es etwas anders auszudrücken: man könnte ja auch mehrere Integerwerte durch eine Zeichenkette darstellen, in dem einfach ein Zeichen als Trennzeichen dient, beispielsweise:
Code:
123,456,789
Dies wäre dann ein einziger Zeichenkettenwert, der allerdings als Container für drei Integerwerte dient.
Ein Array ist nun aber ein besserer Containertyp, da PHP die automatische Verarbeitung übernimmt.
 
Zurück