PHP- Funktionen
Die wahre Stärke von PHP liegt in seinen Funktionen.
PHP hat mehr als 1000 eingebaute Funktionen und zusätzlich können Sie Ihre eigenen benutzerdefinierten Funktionen erstellen.
Eingebaute PHP-Funktionen
PHP hat über 1000 eingebaute Funktionen, die direkt innerhalb eines Skripts aufgerufen werden können, um eine bestimmte Aufgabe auszuführen.
Bitte sehen Sie sich unsere PHP-Referenz an, um einen vollständigen Überblick über die in PHP integrierten Funktionen zu erhalten .
Benutzerdefinierte PHP-Funktionen
Neben den eingebauten PHP-Funktionen ist es möglich, eigene Funktionen zu erstellen.
- Eine Funktion ist ein Block von Anweisungen, die in einem Programm wiederholt verwendet werden können.
- Eine Funktion wird nicht automatisch ausgeführt, wenn eine Seite geladen wird.
- Eine Funktion wird durch einen Aufruf der Funktion ausgeführt.
Erstellen Sie eine benutzerdefinierte Funktion in PHP
Eine benutzerdefinierte Funktionsdeklaration beginnt mit dem Wort function
:
Syntax
function functionName()
{
code to be executed;
}
Hinweis: Ein Funktionsname muss mit einem Buchstaben oder einem Unterstrich beginnen. Bei Funktionsnamen wird die Groß-/Kleinschreibung NICHT beachtet.
Tipp: Geben Sie der Funktion einen Namen, der widerspiegelt, was die Funktion tut!
Im folgenden Beispiel erstellen wir eine Funktion mit dem Namen "writeMsg()". Die öffnende geschweifte Klammer ( { ) gibt den Beginn des Funktionscodes an, und die schließende geschweifte Klammer ( } ) zeigt das Ende der Funktion an. Die Funktion gibt "Hallo Welt!" aus. Um die Funktion aufzurufen, schreiben Sie einfach ihren Namen gefolgt von Klammern ():
Beispiel
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>
PHP-Funktionsargumente
Informationen können über Argumente an Funktionen übergeben werden. Ein Argument ist wie eine Variable.
Argumente werden nach dem Funktionsnamen innerhalb der Klammern angegeben. Sie können beliebig viele Argumente hinzufügen, trennen Sie sie einfach durch ein Komma.
Das folgende Beispiel hat eine Funktion mit einem Argument ($fname). Beim Aufruf der Funktion familyName() übergeben wir auch einen Namen (z. B. Jani), und der Name wird innerhalb der Funktion verwendet, die mehrere verschiedene Vornamen, aber einen gleichen Nachnamen ausgibt:
Beispiel
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>
Das folgende Beispiel hat eine Funktion mit zwei Argumenten ($fname und $year):
Beispiel
<?php
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year <br>";
}
familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>
PHP ist eine lose typisierte Sprache
Beachten Sie im obigen Beispiel, dass wir PHP nicht mitteilen mussten, welcher Datentyp die Variable ist.
PHP ordnet der Variablen abhängig von ihrem Wert automatisch einen Datentyp zu. Da die Datentypen nicht im engeren Sinne festgelegt werden, können Sie Dinge wie das Hinzufügen einer Zeichenfolge zu einer Ganzzahl tun, ohne einen Fehler zu verursachen.
In PHP 7 wurden Typdeklarationen hinzugefügt. Dies gibt uns die Möglichkeit, den erwarteten Datentyp beim Deklarieren einer Funktion anzugeben, und durch Hinzufügen der strict
Deklaration wird ein "Fatal Error" ausgegeben, wenn der Datentyp nicht übereinstimmt.
Im folgenden Beispiel versuchen wir, sowohl eine Zahl als auch einen String an die Funktion zu senden, ohne strict
:
Beispiel
<?php
function addNumbers(int $a, int $b) {
return $a
+ $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is
changed to int(5), and it will return 10
?>
Um dies zu spezifizieren strict
, müssen wir setzen declare(strict_types=1);
. Dies muss in der allerersten Zeile der PHP-Datei stehen.
Im folgenden Beispiel versuchen wir, sowohl eine Zahl als auch einen String an die Funktion zu senden, aber hier haben wir die strict
Deklaration hinzugefügt:
Beispiel
<?php declare(strict_types=1); // strict requirement
function
addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5
days");
// since strict is enabled and "5 days" is not an integer, an
error will be thrown
?>
Die strict
Deklaration erzwingt die beabsichtigte Verwendung der Dinge.
PHP-Standardargumentwert
Das folgende Beispiel zeigt, wie ein Standardparameter verwendet wird. Wenn wir die Funktion setHeight() ohne Argumente aufrufen, nimmt sie den Standardwert als Argument:
Beispiel
<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>
PHP-Funktionen - Werte zurückgeben
Um eine Funktion einen Wert zurückgeben zu lassen, verwenden Sie die return
Anweisung:
Beispiel
<?php declare(strict_types=1); // strict requirement
function sum(int $x,
int $y) {
$z = $x + $y;
return $z;
}
echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>
Deklarationen von PHP-Rückgabetypen
PHP 7 unterstützt auch Typdeklarationen für die return
Anweisung. Wie bei der Typdeklaration für Funktionsargumente wird durch die Aktivierung der strikten Anforderung ein "Schwerwiegender Fehler" bei einem Typkonflikt ausgelöst.
Um einen Typ für die Funktionsrückgabe zu deklarieren, fügen Sie beim Deklarieren der Funktion einen Doppelpunkt (
:
) und den Typ direkt vor der öffnenden geschweiften {
Klammer ( ) hinzu.
Im folgenden Beispiel geben wir den Rückgabetyp für die Funktion an:
Beispiel
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
Sie können einen anderen Rückgabetyp als die Argumenttypen angeben, aber stellen Sie sicher, dass die Rückgabe der richtige Typ ist:
Beispiel
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>
Argumente per Referenz übergeben
In PHP werden Argumente normalerweise als Wert übergeben, was bedeutet, dass eine Kopie des Werts in der Funktion verwendet wird und die an die Funktion übergebene Variable nicht geändert werden kann.
Wenn ein Funktionsargument als Referenz übergeben wird, ändern Änderungen am Argument auch die übergebene Variable. Um ein Funktionsargument in eine Referenz umzuwandeln, wird der &
Operator verwendet:
Beispiel
Verwenden Sie ein Pass-by-Reference-Argument, um eine Variable zu aktualisieren:
<?php
function add_five(&$value) {
$value += 5;
}
$num
= 2;
add_five($num);
echo $num;
?>