Funktion
Eine Funktion ist eine Befehlsfolge, welche bei ihrem Aufruf Parameter entgegen nimmt, die sie wärend ihrem Durchlauf verarbeitet. Funktionen sind wie kleine Werkzeuge mit denen etwas erzeugt wird und die mehrmals benutzt werden können.
Einfache Funktion
function
<?php
function hallo() // deklariert eine Funktion namens hallo
{
print "Hallo"; // Anweisung was die Funktion machen soll
}
hallo(); // aufrufen (auslösen) der Funktion
?>
Funktion erwartet ein Argument
<?php
function halloName($Name) // deklariert eine Funktion namens halloName
// welche ein Argument $Name erwartet
{
print "Hallo $Name"; // Funktion soll 'Hallo Argument' schreiben
}
halloName("Marcel"); // aufrufen der Funktion mit Uebergabe des Arguments als String
?>
Komplexere Funktion
Eine Funktion, welche drei Argumente erwartet, wird zwei mal aufgerufen wobei unterschiedliche Argumente übergeben werden:
<?php
function halloVorNach($gruss,$vor,$nach) // Funktion erwartet 3 Argumente durch Kommas zu trennen
{
print "$gruss $vor $nach"; // Funktion soll die 3 Argumente ausgeben
}
halloVorNach("Grüss dich ", "Marcel ", "Biefer"); // Funktionsaufruf Argumente durch Kommas getrennt
print "<br>"; // Zeilenumbruch
halloVorNach("Hallo ", "du ", "Schlaumeier"); // Funktionsaufruf übergibt ganz andere Argumente
?>
Hallo du Schlaumeier
Optionales Argument
Diese Funktion erwartet 2 Argumente, eines (das zweite) ist standartisiert vorgegeben und darum optional beim Aufruf. Optional meint, ich kann ein (zweites) Argument dem Aufruf mitgeben, das überschreibt das vorgegebene. Ich muss aber nicht, dann wird das vorgegebene ausgegeben.
<?php
function isReg($Name, $Reg="<a href='../javascript/test_danke.htm'> Bitte registrieren Sie sich.</a>")
{
print "$Name $Reg"; // Funktion soll 2 Argumente schreiben
}
// Dem ersten Funktionsaufruf werden 2 Argumente uebergeben
isReg("Hallo Marcel Biefer, ", "du bist bereits registriert."); // ein Komma trennt Argumente, ein Komma im String
print "<br>"; // Zeilenumbruch
// Dem zweiten Funktionsaufruf wird nur das erste Argument übergeben
isReg("Hallo Heiri Müller:");
?>
Hallo Heiri Müller: Bitte registrieren Sie sich.
Möchte man das erste Argument optional machen ...
function isReg($Name="Danke", "$Reg= ...
sollten die nachfolgenden Argumente auch bereits eine Vorgabe enthalten,
sonst bin ich in der misslichen Situation, den erste Parameter leer übergeben zu müssen.
Das heisst, beim Aufruf der Funktion muss in der Klammer auf die trennenden Kommas geachtet werden:
Dem Funktionsaufruf wird nur das zweite Argument uebergeben, notabene nach einem Komma,
vor dem das optionale erste Argument nicht übergeben wird:
isReg(,"Ihr gewünschtes File ist bereit:<a
href='file.pdf' target='_blank'> PDF</a>");
Anonyme Funktion
create_function()
Zur Verwendung einer Funktion (ohne Namen) in einer Variablen:
<?php
$AnoFunc = create_function('$hello', 'print $hello;'); //
print $AnoFunc('HELLO');
?>
HELLO