English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem教程 Sie lernen, wie Sie Ihre eigenen benutzerdefinierten Funktionen in PHP erstellen.
Funktionen sind unabhängige Code-Blöcke, die spezifische Aufgaben ausführen.
PHP verfügt über eine riesige Sammlung integrierter Funktionen, die Sie direkt in Ihrem PHP-Skript aufrufen und ausführen können, um spezifische Aufgaben zu erledigen, wie z.B. gettype(), print_r(), var_dump und andere.
Sehen Sie sich bitte das PHP-Referenzkapitel an, um eine vollständige Liste nützlicher integrierter PHP-Funktionen zu erhalten.
Neben den integrierten Funktionen ermöglicht PHP auch die Definition eigener Funktionen. Dies ist eine Methode, um wiederverwendbare Code-Pakete zu erstellen, die spezifische Aufgaben ausführen können, und die von der Hauptanwendung getrennt gespeichert und verwaltet werden können. Einige Vorteile der Verwendung von Funktionen sind:
Funktionen reduzieren die Wiederholung von Code im Programm - Funktionen erlauben es Ihnen, häufig verwendete Codeblöcke in eine einzige Komponente zu extrahieren. Jetzt können Sie diese Funktion an jedem Ort im Skript aufrufen, um die gleiche Aufgabe auszuführen, ohne denselben Codeblock wiederholt zu kopieren und einzufügen.
Funktionen machen die Wartung des Codes einfacher - Da eine Funktion mehrmals verwendet werden kann, werden alle Änderungen im Inneren der Funktion automatisch an allen Stellen implementiert, ohne dass mehrere Dateien geändert werden müssen.
Durch Funktionen können Fehler einfacher beseitigt werden - Wenn ein Fehler auftritt, wissen Sie genau, welche Funktion den Fehler verursacht hat und wo Sie sie finden können. Daher wird das Beheben von Fehlern viel einfacher.
Funktionen können in anderen Anwendungen wiederverwendet werden - Da Funktionen vom Rest des Skripts getrennt sind, können Sie die gleiche Funktion in anderen Anwendungen leicht wiederverwenden, indem Sie nur die php-Datei, die diese Funktionen enthält, einbinden.
Das nächste Kapitel zeigt Ihnen, wie Sie einfach Ihre eigenen Funktionen in PHP definieren können.
Die grundlegende Syntax zum Erstellen und Aufrufen einer Funktion kann wie folgt angegeben werden:
function functionName() { //auszuführendes Code }
Die Deklaration einer benutzerdefinierten Funktion beginnt mit dem Wort function, gefolgt vom Namen der zu erstellenden Funktion, dann Klammern () und schließlich den Funktionscode in geschweiften Klammern { }.
Dies ist ein einfaches Beispiel für eine benutzerdefinierte Funktion, die das heutige Datum anzeigt:
<?php //Funktion definieren function whatIsToday() { echo "Heute ist " . date('l', mktime()); } //Funktion aufrufen whatIsToday(); ?>Testen Sie heraus‹/›
Hinweis:Der Name der Funktion muss mit einem Buchstaben oder einem Unterstrichzeichen beginnen und nicht mit einer Zahl, und kann auch weitere Buchstaben, Ziffern oder Unterstrichzeichen folgen. Der Funktionsname ist nicht großgeschrieben.
Sie können Parameter angeben, wenn Sie eine Funktion definieren, die Werte zur Laufzeit akzeptiert. Die Arbeitsweise der Parameter ist ähnlich wie die Platzhaltervariablen in einer Funktion; sie werden durch die Werte ersetzt, die beim Aufruf der Funktion der Funktion bereitgestellt werden (genannt Parameter).
function myFunc($oneParameter, $anotherParameter) { //auszuführendes Code }
Sie können so viele Parameter wie Sie möchten definieren. Aber für jeden指定的参数,müssen Sie den entsprechenden Parameter beim Aufruf der Funktion übergeben.
Die in diesem Beispiel enthaltene Funktion getSum() nimmt zwei Ganzzahlwerte als Parameter, addiert sie einfach zusammen und zeigt das Ergebnis im Browser an.
<?php //Funktion definieren function getSum($num1, $num2{ $sum = $num1 + $num2; echo "zwei Zahlen$num1und $num2der Summe ist: $sum"; } //Funktion aufrufen getSum(10, 20); ?>Testen Sie heraus‹/›
Der Ausgabe des obigen Codes wird sein:
zwei Zahlen10und2Die Summe von 0 ist: 30
Hinweis:Parameter sind die Werte, die Sie an die Funktion übergeben, und Parameter sind die Variablen, die die Funktion in ihren Parametern empfängt. Aber im täglichen Gebrauch sind diese Begriffe austauschbar, d.h. Parameter sind Argumente.
Sie können auch Funktionen mit optionalen Parametern erstellen - Es reicht aus, den Namen des Parameters einzufügen, gefolgt von einem Gleichheitszeichen (=) und dann dem Standardwert, wie im folgenden Beispiel gezeigt.
<?php //Funktion definieren function customFont($font, $size=1.5{ echo "<p style=\"font-family: $font; font-size: {$size}em;">Hello, world!/p>"; } //Funktion aufrufen customFont("Arial", 2); customFont("Times", 3); customFont("Courier"); ?>Testen Sie heraus‹/›
Wie Sie sehen können, enthält der dritte Aufruf von customFont () keine zweite Parameter. Dies führt dazu, dass der PHP-Engine die Standardwerte des Parameters $size verwendet, nämlich1.5.
Funktionen können Werte an das Skript, das die Funktion aufruft, zurückgeben. Der Wert kann jeder Typ sein, einschließlich Arrays und Objekten.
<?php //Funktion definieren function getSum($num1, $num2{ $total = $num1 + $num2; return $total; } //Drucke den Rückgabewert echo getSum(5, 10); // Ausgabe: 15 ?>Testen Sie heraus‹/›
Eine Funktion kann keine mehreren Werte zurückgeben. Aber Sie können eine ähnliche Ergebnisse durch Rückgabe eines Arrays erzielen, wie im folgenden Beispiel gezeigt.
<?php //Funktion definieren function divideNumbers($dividend, $divisor){ $quotient = $dividend / $divisor; $array = array($dividend, $divisor, $quotient); return $array; } //Variablen als Array zuweisen list($dividend, $divisor, $quotient) = divideNumbers(10, 2); echo $dividend; // Ausgabe: 10 echo $divisor; // Ausgabe: 2 echo $quotient; // Ausgabe: 5 ?>Testen Sie heraus‹/›
In PHP gibt es zwei Möglichkeiten, Parameter an Funktionen zu übergeben: Wertübergabe und Referenzübergabe. Standardmäßig werden Funktion参数 durch Wertübergabe übergeben, daher hat eine Änderung des Parameters innerhalb der Funktion keinen Einfluss auf die Außenwelt. Aber um zu erlauben, dass eine Funktion ihre Parameter ändert, müssen sie durch Referenz übergeben werden.
Die Methode, Parameter durch Referenz zu übergeben, besteht darin, vor dem Parameternamen im Funktionsdefinitionen das Ampersand-Zeichen (&) hinzuzufügen, wie im folgenden Beispiel gezeigt:
<?php /* Definieren Sie eine Funktion, die mit einer Zahl multipliziert und geben Sie den neuen Wert zurück */ function selfMultiply(&$number){ $number *= return $number; } $mynum = 5; echo $mynum; // Ausgabe: 5 selfMultiply($mynum); echo $mynum; // Ausgabe: 25 ?>Testen Sie heraus‹/›
Sie können Variablen in jeder Stelle eines PHP-Skripts deklarieren. Der Ort der Deklaration bestimmt jedoch den Sichtbarkeitsbereich der Variable im PHP-Programm, d.h. wo die Variable verwendet oder erreicht werden kann. Diese Zugänglichkeit wird alsVariablenbereich.
Standardmäßig sind in einer Funktion deklarierte Variablen lokale Variablen und können nicht von außerhalb der Funktion erreicht oder manipuliert werden, wie im folgenden Beispiel gezeigt:
<?php //Funktion definieren function test(){ $greet = "Hello World!"; echo $greet; } test(); // Ausgabe: Hello World! echo $greet; //Erzeugen von Fehlern für nicht definierte Variablen ?>Testen Sie heraus‹/›
Gleichzeitig erhalten Sie einen Fehler für nicht definierte Variable, wenn Sie versuchen, eine Variable, die im Funktionskörper deklariert wurde, außen zu erreichen oder zu importieren, wie im folgenden Beispiel gezeigt:
<?php $greet = "Hello World!"; //Funktion definieren function test(){ echo $greet; } test(); //Erzeugen von Fehlern für nicht definierte Variablen echo $greet; // Ausgabe: Hello World! ?>Testen Sie heraus‹/›
Wie aus dem obigen Beispiel zu sehen ist, können Variablen, die im Funktionskörper deklariert werden, nicht von außen erreicht werden, und umgekehrt können sie nicht von innen auf Variablen außen zugreifen. Diese Trennung verringert die Möglichkeit, dass Variablen im Funktionskörper von Variablen im Hauptprogramm beeinflusst werden.
Hinweis:Sie können für Variablen in verschiedenen Funktionen den gleichen Namen verwenden, da lokale Variablen nur von der Funktion erkannt werden, die sie deklariert hat.
In einigen Fällen müssen Sie Variablen aus dem Hauptprogramm in eine Funktion importieren und umgekehrt. In diesem Fall können Sie vor den Variablen im Funktionskörper den Schlüsselwort global verwenden. Dieses Schlüsselwort wandelt die Variable in eine globale Variable um, die sowohl im Inneren als auch im Äußeren der Funktion sichtbar oder zugänglich ist, wie im folgenden Beispiel gezeigt:
<?php $greet = "Hello World!"; //Funktion definieren function test(){ global $greet; echo $greet; } test(); // Ausgabe: Hello World! echo $greet; // Ausgabe: Hello World! //Werte eine neue Variable zu $greet = "Goodbye"; test(); // Ausgabe: Goodbye echo $greet; // Ausgabe: Goodbye ?>Testen Sie heraus‹/›
Sie werdenPHP-Klassen und ObjekteIn einem Kapitel finden Sie mehr Informationen über Sichtbarkeit und Zugriffssteuerung.
Rekursive Funktionen sind Funktionen, die sich selbst wiederholt aufrufen, bis eine Bedingung erfüllt ist. Rekursive Funktionen werden normalerweise zur Lösung komplexer mathematischer Berechnungen oder zur Verarbeitung tief eingebetteter Strukturen verwendet, z.B. das Ausgeben aller Elemente einer tief eingebetteten Liste.
Der folgende Beispiel zeigt, wie rekursive Funktionen funktionieren.
<?php //Definieren Sie die rekursive Funktion function printValues($arr) { global $count; global $items; //Überprüfen Sie, ob $arr ein Array ist if(!is_array($arr)){ die("ERROR: Input is not an array"); } /* Durchsuchen Sie das Array, wenn value selbst ein Array ist, rufen Sie rekursiv auf Die Funktion fügt die gefundenen Werte zum Ausgabearray hinzu und erhöhen Sie den Zähler für jeden gefundenen Wert1 */ foreach($arr as $a){ if(is_array($a)){ printValues($a); } else{ $items[] = $a; $count++; } } //Geben Sie die Gesamtzahl und die Werte im Array zurück return array('total' => $count, 'values' => $items); } //Definieren Sie verschachtelte Arrays $species = array( "Vögel" => array( "Adler", "Papagei", "Schwan" ), "Mammalia" => array( "Mensch" "Katze" => array( "Löwe" "Tiger", "Jaguar" ), "Elefant", "Mensch" ), "Reptilien" => array( "Schlange" => array( "Kobra" => array( "Königskobra" "ägyptische Kobra" ), "Viper", "Anaconda" ), "Crocodile", "Dinosaur" => array( "T-rex", "Alamosaurus" ) ) ); //Berechnen und drucken Sie die Werte in einer verschachtelten Array $result = printValues($species); echo $result['total'] . ' value(s) found: '; echo implode(', ', $result['values']); ?>Testen Sie heraus‹/›
Hinweis:Seien Sie vorsichtig bei der Erstellung rekursiver Funktionen, da eine falsch programmierte Code kann zu einem endlosen Zyklus bei der Funktion Aufruf führen.