Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Funktionen in PHP: Rückgabe von Werten und Parametern

by
Read Time:8 minsLanguages:

German (Deutsch) translation by Ines Willenbrock (you can also view the original English article)

Funktionen sind ein wichtiger Bestandteil der Programmiersprachen. Sie helfen uns, Codeduplizierungen zu vermeiden, indem sie es uns ermöglichen, dieselben Anweisungen immer wieder auf verschiedenen Daten anzuwenden.

In diesem Tutorial werden wir über Funktionen in PHP sprechen. Wir behandeln alle grundlegenden Konzepte von Funktionen in PHP, und Sie werden lernen, wie Sie Ihre eigenen benutzerdefinierten Funktionen in PHP erstellen. Sie werden mehr über die Rückgabe von Werten aus einer Funktion und Funktionsparametern in PHP erfahren. Sie lernen auch andere Konzepte wie das Festlegen von Standardargumentwerten oder das Übergeben eines Arguments als Verweis kennen.

Interne Funktionen in PHP

PHP enthält viele integrierte Funktionen, die Sie in Ihrem Programm verwenden können. Einige dieser Funktionen sind Standard, während andere Ihnen durch bestimmte PHP-Erweiterungen zur Verfügung stehen.

PHP kommt mit vielen Funktionen, um mit Strings zu arbeiten. Sie können z. B. die Funktion str_contains() verwenden, um zu überprüfen, ob eine Zeichenfolge eine Teilzeichenfolge enthält und die Funktion wordwrap(), um eine Zeichenfolge in eine bestimmte Anzahl von Zeichen umzubrechen. Diese Funktionen stehen Ihnen standardmäßig zur Verfügung.

Ein weiterer Satz von PHP-Funktionen zum Bearbeiten von Bildern ist verfügbar, wenn Sie die GD-Erweiterungsbibliothek installieren. Sobald die Erweiterung aktiviert ist, können Sie Funktionen wie imagecreatetruecolor(), imagecreatefrompng() und imagefill() verwenden, um Bilder zu erstellen und zu bearbeiten.

Wenn Sie jemals den schwerwiegenden Fehler undefined function in PHP erhalten, aber sicher sind, dass es sich um eine interne Funktion handelt, stellen Sie sicher, dass Sie die entsprechenden Erweiterungen installiert haben, um diese Funktion zu verwenden.

Benutzerdefinierte Funktionen in PHP

Sie können auch Ihre eigenen Funktionen in PHP definieren. Das Definieren eigener Funktionen wird in fast jedem nicht trivialen Programm, das Sie schreiben, zur Notwendigkeit. Sie sind eine gute Möglichkeit, Codeduplizierungen und Fehler zu vermeiden.

Hier ist etwas einfacher Code, um eine Funktion zu definieren, die eine Begrüßung ausgibt, wenn wir die Funktion später aufrufen.

Im obigen Beispiel haben wir gerade einen Namen an die greet()-Funktion übergeben, und sie hat eine andere Ausgabe basierend auf dem angegebenen Namen ausgegeben.

Beim Definieren einer Funktion müssen Sie bestimmte Regeln befolgen. Der Name einer Funktion muss mit einem Buchstaben oder einem Unterstrich beginnen. Danach können Sie verschiedene Längen von Zahlen, Buchstaben und Unterstrichen im Namen verwenden. Das bedeutet, dass greet01(), _greet() und greet_01() alle in PHP gültigen Funktionsnamen sind. Wenn Sie jedoch 01_greet() als Funktionsnamen verwenden, wird ein Syntaxfehler ausgelöst.

Rückgabe von einer Funktion in PHP

Im vorherigen Beispiel hat unsere benutzerdefinierte greet()-Funktion nichts zurückgegeben. Sie gibt nur ein paar Sätze basierend auf der Eingabe aus. Es liegt ganz an uns, etwas innerhalb jeder Funktion zurückzugeben, die wir in PHP definieren.

Wenn Sie etwas zurückgeben möchten, müssen Sie die return-Anweisung verwenden. Eine Funktion kann jede Art von Wert in PHP zurückgeben. Dazu gehören Zeichenfolgen, ganze Zahlen, Floats, Arrays oder sogar Objekte.

Im obigen Beispiel verwandelt die palindrome()-Funktion eine beliebige Zeichenfolge in ein Palindrom, indem sie sie an ihre umgekehrte Version anfügt. Anstatt die Ausgabe direkt wiederzugeben, weisen wir sie nun einer Variablen zu. Wir können die Variable jetzt weiter manipulieren, aber wir werden sie in diesem Beispiel nur ausgeben.

Eine Funktion kann mehrere Rückgabewerte haben, und die Ausführung der Funktion wird sofort beendet, sobald sie auf eine return-Anweisung trifft. Dies bedeutet, dass Sie nur einen Wert von einer Funktion zurückgeben können. Sie können diese Einschränkung jedoch umgehen, indem Sie ein Array zurückgeben, das aus allen Werten besteht, die Sie als Elemente zurückgeben möchten.

Im obigen Beispiel möchten wir, dass die Funktion eine Reihe von Informationen über den Namen zurückgibt, der an sie übergeben wird. Also haben wir ein Array mit gemischten Werten verwendet. Die übergebenen Werte werden dann verschiedenen Variablen unter Verwendung von list() zugewiesen.

Sie sollten auch beachten, dass die greet()-Funktion in unserem Programm nicht Bye Monty! ausgibt. Dies liegt daran, dass die Funktionsausführung beendet wurde, sobald eine return-Anweisung gefunden wurde.

Funktionsparameter in PHP

Funktionsparameter (auch als "Funktionsargumente" bezeichnet) werden verwendet, um eine Eingabe an eine Funktion zu übergeben, auf der sie handeln kann, um uns die gewünschte Ausgabe zu geben. Wir haben bisher nur Funktionen mit einem einzigen Parameter in diesem Tutorial definiert.

Es liegt jedoch ganz an uns, wie viele Parameter wir an eine Funktion übergeben möchten. Es können Null für Funktionen sein, die keine Art von Input von uns erfordern. Es kann auch zwei, drei, fünf oder zehn sein. Sie können Arrays auch als Parameter übergeben.

Hier ist ein Beispiel für PHP-Funktionen, die null bzw. zwei Parameter akzeptieren.

Wir können die zweite Funktion neu schreiben, um ein Array als unseren einzigen Parameter zu übergeben. Wir extrahieren einfach verschiedene Werte aus dem Array innerhalb unserer Funktion. Dies kann in Situationen hilfreich sein, in denen Sie Arrays bearbeiten oder viele Werte an eine Funktion übergeben möchten.

Angeben von Defaultwerten von Argumenten

Angenommen, Sie erstellen eine Begrüßungsfunktion, die meistens verwendet wird, um Benutzern guten Morgen zu wünschen. Der Wert der $time in unserer greeting_time() Funktion wird in der Regel morning sein. In solchen Fällen können Sie das Programm kürzer und den Code leichter lesbar machen, indem Sie bestimmten Argumenten sinnvolle Standardwerte zuweisen.

Dies ist in eingebauten PHP-Funktionen eigentlich durchaus üblich. Die strpos()-Funktion wird verwendet, um die Position einer Teilzeichenfolge in einer Zeichenfolge zu finden. Die Funktion verwendet drei Argumente: die Zeichenfolge, die Teilzeichenfolge und die Position, an der Sie beginnen möchten. Die Funktion gibt den Index der Teilzeichenfolge in der Zeichenfolge zurück.

Der Positionsparameter ist der Punkt, an dem Sie mit der Suche nach der Teilzeichenfolge beginnen möchten. Normalerweise möchten wir von der Ausgangsposition aus in die Hauptzeichenfolge schauen. Dies bedeutet, dass der Wert des Offsets in der Regel Null ist.

Anstatt uns zu bitten, den Offset jedes Mal, wenn wir die Funktion aufrufen, als 0 anzugeben, legt PHP seinen Wert standardmäßig auf 0 fest. Jetzt müssen wir nur den dritten Parameter angeben, wenn wir den Offset in etwas anderes ändern möchten.

Wir können auch einen Standardwert für verschiedene Parameter in unseren eigenen Funktionen festlegen. Hier ist ein Beispiel:

Es gibt zwei Dinge, die Sie bei Standardparametern oder -argumenten beachten müssen. Erstens müssen sie ein konstanter Wert sein, wie in unserem Fall morning. Alle Argumente mit Standardwerten sollten sich immer auf der rechten Seite begeben. Die folgende Funktionsdefinition verursacht z. B. beim ersten Aufruf einen Fehler.

Der Grund für den Fehler ist die Unklarheit über das Argument Monty. PHP hat keine Möglichkeit zu wissen, ob Sie möchten, dass es der Wert von $name ist oder ob Sie es anstelle des standardmäßigen Werts der Variable $time verwenden möchten.

Übergeben von Argumenten nach Wert vs. Übergeben durch Referenz

Standardmäßig werden verschiedene Argumente als Wert an eine PHP-Funktion übergeben. Auf diese Weise können wir vermeiden, den Wert des Arguments zu ändern, das an eine Funktion übergeben wird. Wenn Sie jedoch beabsichtigen, den Wert von Argumenten zu ändern, die an eine PHP-Funktion übergeben werden, können Sie diese Argumente als Referenz übergeben.

Das folgende Beispiel soll Ihnen helfen, den Unterschied zwischen diesen beiden Ansätzen zu verstehen.

Das Argument in r_palindrome() wird als Referenz übergeben. Das bedeutet, dass beim Übergeben $word_b an r_palindrome() der Wert von $word_b selbst in ein Palindrom geändert wird.

Schlussfolgerung

In diesem Tutorial haben wir viele Grundlagen im Zusammenhang mit Funktionen in PHP behandelt. Hoffentlich können Sie jetzt Ihre eigenen benutzerdefinierten Funktionen schreiben, die alles, was wir hier gelernt haben, nutzen. Fühlen Sie sich frei, alle Fragen zu diesem Thema in den Kommentaren zu stellen.

Lernen Sie PHP in einem kostenlosen Online-Kurs

Wenn Sie PHP lernen möchten, schauen Sie sich unseren kostenlosen Online-Kurs zu PHP-Grundlagen an!

In diesem Kurs lernen Sie die Grundlagen der PHP-Programmierung. Sie beginnen mit den Grundlagen, lernen, wie PHP funktioniert und schreiben einfache PHP-Schleifen und -Funktionen. Anschließend bauen Sie Programmierklassen für eine einfache objektorientierte Programmierung (OOP) auf. Unterwegs lernen Sie alle wichtigen Fähigkeiten zum Schreiben von Apps für das Web: Sie können üben, auf GET- und POST-Anforderungen zu reagieren, JSON zu analysieren, Benutzer zu authentifizieren und eine MySQL-Datenbank zu verwenden.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.