Hauptmenü
HTML und CSS
PHP-Einführung
Algorithmen
Funktionen
Cookies
Datenbanken
Lösungen
Projekte
Sammelsurium
Links
Hilfe
Serverzugang
selfhtml
selfphp
php-Manual
PHP Tutorial
WEB Tutorial
Editoren
Hauptmenü
HTML und CSS
PHP-Einführung
Algorithmen
Funktionen
Cookies
Datenbanken
Lösungen
Projekte
Sammelsurium
Links
Hilfe
Serverzugang
selfhtml
selfphp
php-Manual
PHP Tutorial
WEB Tutorial
Editoren
PHP kennt zahlreiche vordefinierte Funktionen:
Eine Funktion zeichnet sich meist dadurch aus, dass Sie ein oder mehrere Argumente entgegennimmt und einen Rückgabewert besitzt.
Damit man Abläufe, die man in einem Programm häufig benötigt nicht mehrmals in einem Programm einbauen muss, kann man eigene Funktionen definieren.
Eine Funktion besteht aus einem Funktionskopf und einem Funktionsrumpf. Der Funktionskopf seinerseits besteht aus dem Schlüsselwort function
, welches dem Interpreter sagt, dass eine Funtionsdefinition beginnt.
Dann folgt der frei wählbare Name der Funktion. Gültige Funktionsnamen müssen mit einem Unterstrich „_“ (underscore) oder einem Buchstaben beginnen, danach können weitere Buchstaben, Ziffern oder der Unterstrich in beliebiger Reihenfolge kommen.
Nach dem Namen folgt zwischen einem runden Klammernpaar eine mittels Kommata separierte Parameterliste, d.h. die Werte und Variablen, die an den Funktionsrumpf übergeben werden.
function fakultaet($zahl) { $fak = 1; for($i=1; $i<=$zahl; $i++) { $fak = $fak * $i; } return $fak; }
Dieses Beispiel definiert eine Funktion mit dem Namen fakultaet
, die beim Aufruf einen Parameter ($zahl
) erwartet. Dieser wird im Funktionsrumpf verwendet, um die Fakultät der an die Funktion übergebenen Zahl zu berechnen.
Der Funktionskopf bestimmt, wie die Funktion aufgerufen wird, nämlich ähnlich wie in der Funktionsdefinition aber ohne das Schlüsselwort function
.
Im Beispiel also
$ergebnis = fakultaet(5);
Im Funktionsrumpf befindet sich der Code, der beim Aufruf der Funktion ausgeführt wird - und nur dann. Man kann also alle Funktionen am Beginn des PHP-Skripts definieren und unter den Funktionsdefinitionen das eigentliche Programm beginnen - der Programmcode in den Funktionskörpern wird erst ausgeführt, wenn die betreffende Funktion aufgerufen wird.
Eine Funktion kann (und sollte) einen Wert zurückgeben. Dies geschieht durch den return
Befehl: Durch die Anweisung
return $argument;
wird die Ausführung der Funktion an dieser Stelle beendet und das Program springt zurück zu der Stelle, von der die Funktion aufgerufen wurde. Der Wert von $argument
wird dabei an die aufrufende Stelle übergeben und kann dort gespeichert, ausgegeben oder weiterverarbeitet werden.
Schreibe ein php-Programm, das in einem Formular eine Zahl X entgegennimmt und für alle natürlichen Zahlen kleiner als X jeweils die Fakultät berechnet und ausgibt. Verwende zur Berechnung der Fakultät eine Funktion wie die obige.
Man kann als Argument auch ein Array an eine Funktion übergeben, also z.B. so:
$liste = array(10,21,13,19,1,23,2,4); $sortiert = myselectionsort($liste);
Hier wird ein Array an die Funktion myselectionsort
übergeben, als Ergebnis sollte ein sortiertes Array zurückgegeben werden.
1. Kopiere dein Selection-Sort Programm und schreibe es so um, dass der Sortiervorgang in einer Funktion ausgelagert ist.
2. Ergänze deine Funktion um einen zweiten Parameter, mit dem du beim Aufruf der Funktion bestimmen kannst, ob das Array aufsteigend oder absteigend sortiert werden soll.
function myselectionsort($unsortiert, $richtung) { [...] } [...] $aufsteigend_sortiert = myselectionsort($unsortiert, "ASC"); $absteigend_sortiert = myselectionsort($unsortiert, "DESC"); [...]