Logo Logo
InfoHome Themen Projekte Links Software
Themen
JavaHamster
BlueJ
Java
HTML
XHTML
CSS
XML
Datenbanken
MySQL
Theoretische Informatik
PHP
Vorbereitungen
Registrierung
Login
Navigation
Übungen
WM-Tippspiel
Sprachreferenz
Grundlagen
Primitive Typen
Strings
Arrays
Klassen/Objekte
Kontrollstrukturen
Funktionen
Sessions
Kara
Lego-Roboter
Algorithmen

Definition

Eine Funktion kann wie folgt definiert werden:

function foo ($arg_1, $arg_2, ..., $arg_n)
{
  echo "Beispielfunktion.\n";
  return $retval;
}

Jeder beliebige korrekte PHP-Code kann in einer Funktion vorkommen, sogar andere Funktionen und Klassen-Definitionen.

In PHP 3 müssen Funktionen definiert sein, bevor man auf sie verweist. In PHP4 ist das nicht mehr erforderlich.

Funktionsparameter

Mit einer Parameterliste kann man Informationen an eine Funktion übergeben. Die Parameterliste ist eine durch Kommas getrennte Liste von Variablen und/oder Konstanten.

PHP unterstützt die Weitergabe von Parametern als Werte (das ist der Standard: call-by-value), als Referenzen (call-by-reference), und als Vorgabewerte.

Referenzen als Parameter übergeben (call-by-reference)

Normalerweise werden den Funktionen Werte als Parameter übermittelt. Wenn man den Wert dieses Parameters innerhalb der Funktion ändert, bleibt der Parameter außerhalb der Funktion unverändert. Wollen Sie aber genau das erreichen, dann müssen Sie die Parameter als Referenzen übergeben.

Wenn eine Funktion einen Parameter generell als Referenz behandeln soll, setzt man in der Funktionsdefinition ein kaufmännisches Und (&) vor den Parameternamen:

function fuege_etwas_anderes_an (&$string)
{
  $string .= 'und nun zu etwas anderem.';
}
$str = 'Dies ist ein String, ';
fuege_etwas_anderes_an ($str);
echo $str; // Ausgabe: 'Dies ist ein String, und nun zu etwas anderem.'

Vorgabewerte für Parameter

Eine Funktion kann Vorgabewerte für skalare Parameter wie folgt definieren:

function machkaffee ($typ = "Cappucino")
{
  return "Ich mache eine Tasse $typ.\n";
}
echo machkaffee ();
echo machkaffee ("Espresso");

Die Ausgabe von diesem kleinen Skript ist:

Ich mache eine Tasse Cappucino.
Ich mache eine Tasse Espresso.

Der Vorgabewert muss ein konstanter Ausdruck sein, darf also (zum Beispiel) keine Variable oder Element einer Klasse sein. Es ist zu beachten, dass alle Vorgabewerte rechts von den Nicht-Vorgabeparametern stehen müssen.

Rückgabewerte

Werte können mit dem optionalen Befehl "return" zurückgegeben werden. Es können Variablen jedes Typs zurückgegeben werden, auch Listen oder Objekte. Die return-Anweisung beendet die Funktion sofort und gibt die Kontrolle an die aufrufende Zeile zurück.

function quadrat ($zahl)
{
  return $zahl * $zahl;
}
echo quadrat (4); // gibt '16' aus.

Es ist nicht möglich, mehrere Werte von einer Funktion zurückzugeben.

Um von einer Funktion eine Referenz zurückzugeben, müssen Sie den Referenz-Operator & sowohl in der Funktionsdeklaration, als auch bei der Zuweisung des zurückgegebenen Wertes verwenden:

function &returniere_referenz()
{
  return $einereferenz;
}

$neuereferenz =& returniere_referenz();

» drucken: pdf | html

© 2004-2024 M. Blanke · Ursulaschule · Kleine Domsfreiheit 11-18 · 49074 Osnabrück