Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Funktionsrückruffunktion (1) Definition, Deklaration und Anwendung der Variablenfunktion

PHP-Funktionsrückruffunktion (1) Definition, Deklaration und Anwendung der Variablenfunktion

伊谢尔伦
伊谢尔伦Original
2017-05-12 11:33:003372Durchsuche

Die sogenannte Callback-Funktion bedeutet, dass beim Aufruf einer Funktion keine Standardvariable als Parameter, sondern eine andere Funktion als Parameter an die aufgerufene Funktion übergeben wird . Wenn in der Formatbeschreibung der Funktion ein Parameter vom Typ Callback vorkommt, handelt es sich bei der Funktion um eine Callback-Funktion. Im vorherigen Abschnitt wurde die PHP-Variablenparameterfunktion vorgestellt. In diesem Abschnitt geht es um das Erlernen von PHP-Callback-Funktionen.

Die Formatbeschreibung der Rückruffunktion lautet wie folgt:

mixed funName (callback arg)   //在参数列表中使用伪类型 callback 描述

Rückruf ist auch eine Art Pseudotyp in PHP, der angibt, dass die Parameter der Funktion eine andere Funktion akzeptieren müssen als Aktualparameter. Eine sehr wichtige Frage ist, warum Funktionen als Parameter verwendet werden. Wie bereits erwähnt, kann das Ausführungsverhalten der aufrufenden Funktion durch die Übergabe von Parametern geändert werden. Manchmal ist die Möglichkeit, nur einen Wert an die Funktion zu übergeben, jedoch immer noch eingeschränkt. Wenn ein benutzerdefinierter Ausführungsprozess zur Verwendung an die Funktion übergeben werden kann, erhöht dies die Erweiterung der Funktionsfunktionalität durch den Benutzer erheblich. Auch die Deklaration und Verwendung von Callback-Funktionen ist ein kritisches Thema. Wenn Sie eine Callback-Funktion deklarieren müssen, müssen Sie zunächst die Variablenfunktion verstehen.

Variablenfunktion

Variablenfunktion wird auch als Variablenfunktion bezeichnet. Wenn auf einen Variablennamen Klammern folgen, sucht PHP nach einer Funktion mit demselben Namen wie der Variablenwert und versucht, diese auszuführen. Deklarieren Sie beispielsweise eine Funktion test() und weisen Sie der Variablen $demo den Funktionsnamen string test zu. Wenn Sie die Variable $demo direkt drucken, muss der Ausgabewert der String-Test sein; wenn Sie jedoch Klammern $demo() nach der Variable $demo hinzufügen, wird die Funktion aufgerufen, die dem Werttest der $demo-Variable entspricht. Auf diese Weise können derselben Variablen unterschiedliche Funktionsnamen zugewiesen werden, und dann kann die Funktion über die Variable aufgerufen werden, was der Anwendung polymorpher Merkmale in der objektorientierten Anwendung ähnelt.

Der Beispielcode lautet wie folgt:

<?php
 function one($a,$b){
   return $a + $b;
 }
 function two($a,$b){
   return $a*$b;
 }
 function three($a,$b){
   return $a/$b;
 }
 $result = "one";          //将函数名one赋值给变量$result,执行$result()时则调用函数one()
 //$result = "two";        //将函数名two赋值给变量$result,执行$result()时则调用函数two()
 //$result = "three";      //将函数名three赋值给变量$result,执行$result()时则调用函数three()
 echo "结果是:".$result(4,6);   //变量$result接收到哪个函数名的值,就调用哪个函数
?>

Im obigen Beispiel werden drei Funktionen one(), two() und three() deklariert und verwendet um die Summe, das Produkt und den Quotienten zweier Zahlen zu berechnen. Und weisen Sie die Funktionsnamen der drei Funktionen (ohne Klammern) der Variablen $result als Zeichenfolge zu, verwenden Sie dann den Variablennamen $result gefolgt von -Klammern und übergeben Sie zwei ganzzahlige Parameter. Dadurch wird die Funktionsausführung mit dem gefunden Gleicher Name wie der Wert der Variablen $result. Die meisten Funktionen können einer Variablen den Funktionsnamen zuweisen, um eine Variablenfunktion zu bilden. Variablenfunktionen können jedoch nicht in Sprachkonstrukten verwendet werden.

Verwenden Sie Variablenfunktionen, um Rückruffunktionen zu deklarieren und anzuwenden

Wenn Sie eine Funktion anpassen möchten, die zurückgerufen werden kann, sind Sie hier genau richtig Sie können wählen, ob Sie variable Funktionen verwenden möchten, um dies zu erreichen. Beim Definieren einer Rückruffunktion ändert sich die Deklarationsstruktur der Funktion nicht, solange der deklarierte Parameter eine gewöhnliche Variable ist. Wenn diese Parametervariable jedoch innerhalb einer Funktion verwendet wird und Klammern hinzugefügt werden, kann die Funktion mit demselben Namen wie der Parameterwert aufgerufen werden, sodass der übergebene Parameter die Namenszeichenfolge einer anderen Funktion sein muss. Der Zweck der Verwendung der Rückruffunktion besteht darin, eine selbst definierte Funktion zur Verwendung im Inneren an die Funktion zu übergeben.

Das Codebeispiel lautet wie folgt:

<?php
 //声明回调函数filter, 在0-10的整数中通过自定义条件过滤不要的数字
 function filter($fun){
   for($i=0; $i<=10; $i++){
     //将参数变量$fun加上一个圆括号$fun(),则为调用和变量$fun值同名的函数
     if($fun($i))
       continue;
       echo $i.&#39;<br>&#39;;
   }
 }
 //声明一个函数one,如果参数是3的倍数就返回ture,否则返回false
 function one($num){
   return $num%3 == 0;
 }
 //声明一个函数two,如果参数是一个回文数返回ture,否则返回false
 function two($num){
   return $num == strrev($num);
 }
 filter("one");   //打印出10以内非3的倍数,参数one是函数one()的名称字符串,是一个回调
 echo "---------------------<br>";
 filter("two");   //打印出10以内非回文数,参数two是函数two()的名称字符串,是一个回调
?>

Das Ergebnis der Ausführung ist:

PHP-Funktionsrückruffunktion (1) Definition, Deklaration und Anwendung der Variablenfunktion

oben Wenn im Beispiel die deklarierte Funktion filter () nur gewöhnliche Werte als Parameter akzeptiert, ist die Zahl, die der Benutzer herausfiltern kann, relativ einfach. In diesem Beispiel wird in der definierten Funktion filter() ein als Filterbedingung übergebener Wert aufgerufen. Auf diese Weise ist die Funktion viel leistungsfähiger. Sie können alle Zahlen herausfiltern, die Ihnen nicht gefallen filter()-Funktion. Durch Hinzufügen einer Klammer $fun() zur Parametervariablen $fun innerhalb der Funktion filter() können Sie eine Funktion mit demselben Wert wie die Variable $fun als Filterbedingung aufrufen. In diesem Beispiel werden beispielsweise zwei Funktionen eins () und zwei () deklariert, die zum Herausfiltern von Vielfachen und Palindromen von 3 innerhalb von 10 verwendet werden, solange die Funktionsnamen eins und zwei beim Aufruf von filter () Zeichenfolgen sind. An Parameter übergeben, dh diese beiden Funktionen werden zur internen Verwendung an die Funktion filter () übergeben.

In diesem Kapitel werden die Variablenfunktionsdefinition, Deklaration und Anwendung der PHP-Callback-Funktion erläutert. Im nächsten Kapitel stellen wir die call_user_func_array()-Funktion der PHP-Callback-Funktion und ihre Verwendung vor.

【Empfohlene verwandte Tutorials】

1. "php.cn Dugu Jiujian (4) - PHP-Video-Tutorial

2 Ein vollständiger Satz von Video-Tutorials zur PHP-Programmierung vom Einstieg bis zur Beherrschung


3.

Praktische PHP-Video-Tutorials

Das obige ist der detaillierte Inhalt vonPHP-Funktionsrückruffunktion (1) Definition, Deklaration und Anwendung der Variablenfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn