ich erklärs mal ganz einfach, kann sein, dass es technisch nicht genau ist, allerdings hoffe ich, ich kann dir damit vermitteln, was eine funktion ist...
eine funktion ist ein unterprogramm, dass von seiner umwelt durch schnittstellen getrennt ist. diese schnittstellen können beliebig viele inputs, allerdings nur EIN output sein. eine funktion hat sonst nichts mit der aussenwelt zu tun, also die variablen, die draussen gelten, gelten drin nicht, ausser die, die du ihr gibst, und selbst da können die variablen in der funktion anders heissen.
wenn du dir zum beispiel aus der funktionsreferenz die funktion
htmlspecialchars() ansiehst (
http://www.php.net/manual/en/functio...ecialchars.php)
hat sie einen rückgabe wert, und drei eingabewerte, wobei die letzten beiden optional sind.
unter rückgabewert verstehe ich, dass die funktion den inhalt einer variable zurückgibt, egal, was für einen, diesen kannst du einer anderen variable zuweisen. also z.B. $geparsteshtml=htmlspecialchars("<hallo>");
die funktion htmlspecialchars hat zurückgegeben <hallo> und dass hast du der variable $geparsteshtml zugewiesen.
dafür hast du ihr allerdings auch einen parameter übergeben, nämlich eine variable, oder eine zeichenkette, zahl, etc. in unserem fall war das <hallo>, du hättest stattdessen genausogut:
$var="<hallo>";
$geparsteshtml=htmlspecialchars($var);
schreiben können, das ist für die funktion egal.
Wenn du selbst eine funktion schreibst, würde das so aussehen:
function meinefunktion($einezahl)
{
$einezahl+=1 #zahl um 1 erhöhen
return $einezahl
}
die funktion könntest du dann so aufrufen:
$zahl=2;
$neuezahl=meinefunktion($zahl);
allerdings genausogut auch so:
$neuezahl=meinefunktion(2);
jedenfalls kommt zwei zurück, return gibt eine variable zurück, allerdings wird nach return die funktion beendet.
(wenn du eine funktion aufrufst, wird der code der in der funktion steht als nächstes ausgeführt, bis dieses fertig ist, dann geht der normale code weiter)
in dieser funktion hat die variable, die du übergeben hast (also die in der klammer) den namen den du ihr in der funktiondefinition (das ist in unserem fall function meinefunktion($einezahl) ) zugewiesen hast, wenn du mehrere werte übergeben willst, musst du diese durch beistriche trennen.
in der funktion stehen dann alle diese bereit.
du kannst optionale argumente machen, in dem du bei der definition defaultwerte definierst:
function func2($var1,$var2="hallo")
var2 hätte in dem fall, wenn nichts anderes angegeben werden würde, den wert "hallo". du könntest also ein zweites argument mitgeben, wenn du das tust, würde es das defaultmässige hallo überschreiben.
Nach einem optionalen argument darf allerdings kein nicht-optionales mehr stehen.
so ich denke, das sind die grundlagen.. (jedenfalls tun meine finger weh ;) )
sag mir, wenn du was nicht verstanden hast, oder so!