Der Martin: Variablen an Funktion übergeben scheitert

Beitrag lesen

Hallo Mike,

Hallo Mike.
[...]
Gruß, Mathias

bitte zitiere sinnvoll, nicht wahllos das gesamte Vorgängerposting.

Das fehlenden Argument irritiert mich jetzt. Dachte mit "function test($a_tel)" wird die Variable "$a_tel" an die Funktion übergeben?!

Nein. Offensichtlich ist dir das Konzept von Funktionen noch nicht klar. Eine Funktion ist ein Stück Programmcode, der in der Regel ein oder mehrere Argumente (Parameter) bekommt, mit diesen Werten irgendwas macht und ein Ergebnis zurückgibt. Ein ganz einfaches Beispiel:

function min($a, $b)
 { var $res;

if ($a<b)
      $res = $a;
   else
      $res = $b;
   return ($res);
 }

Das ist eine Funktion, die zwei Parameter erwartet. Innerhalb der Funktion heißen diese beiden Parameter $a und $b, außerhalb der Funktion existieren sie gar nicht. Die Funktion ermittelt nun den kleineren der beiden Werte und gibt den als Ergebnis an das aufrufende Programm zurück.
Das ist jetzt bewusst sehr ausführlich formuliert - normalerweise würde ich meinen Programmcode nicht so umständlich schreiben. Aber es dient ja nur zur Darstellung des Prinzips.

Will ich die Funktion nun verwenden, dann schreibe ich die Werte, die ich übergeben will, in die Funktionsklammer. Das Ergebnis kann ich einer weiteren Variablen zuweisen oder auch in einem Ausdruck direkt verarbeiten:

$kleinsterwert = min($eingabe1, $eingabe2);
echo min(17,19);
if (min($x,$y)>10)
 { ... }

Hilft das nun deinem Verständnis auf die Sprünge?

Und bevor nun das große "Ja, aber" losgeht: Was ich eben geschildert habe, ist nur der Regelfall. Es ist je nach Zweck und Verwendung auch möglich, dass eine Funktion kein Ergebnis zurückliefert; es ist ebenso möglich, dass eine Funktion keine Parameter bekommt.

So long,
 Martin

--
Wichtig ist, was hinten rauskommt.
  (Helmut Kohl, 16 Jahre deutsche Bundesbirne)