Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der Verwendung von PHP-Callback-Funktionen und anonymen Funktionen
Dieses Mal erkläre ich Ihnen ausführlich die Verwendung von PHP-Rückruffunktionen und anonymen Funktionen. Was sind die Vorsichtsmaßnahmen für die Verwendung von PHP-Rückruffunktionen und anonyme Funktionen wie folgt Dies ist ein praktischer Fall, schauen wir uns ihn an.
Die Beispiele in diesem Artikel beschreiben die Konzepte und die Verwendung von PHP-Rückruffunktionen und anonymen Funktionen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
1. Rückruffunktion
Die Rückruffunktion von PHP ist eigentlich dieselbe die von C, Java und anderen Sprachen Die Funktion der Rückruffunktion ist genau die gleiche. Während der Ausführung des Hauptthreads springt er plötzlich, um die festgelegte Rückruffunktion auszuführen. Es kehrt zum Hauptthread zurück, um den nächsten Prozess abzuwickeln
Wenn Sie die Rückruffunktion in PHP aufrufen, möchten Sie nicht wie in C und Java direkt den Funktionsnamen als Funktionsparameter verwenden. Verwenden Sie stattdessen die Zeichenfolge Name, der der auszuführenden Funktion in PHP entspricht
1.1. Rückruffunktion ohne Parameter
1.3 Methodenrückruf<?php //无参数回调 function callback(){ echo 'execute no parameters callback.<br/>'; } function main($callback){ echo 'execute main start.<br/>'; $callback(); echo 'execute main end.<br/>'; } main('callback'); //结果 ecute main start. execute no parameters callback. execute main end.
<?php //全局函数回调 function callback($a,$b){ echo "$a<====>$b.<br/>"; } $func = 'callback'; call_user_func($func, 1,2); call_user_func_array($func, array(1,2)); //结果 1<====>2. 1<====>2.
2. Anonyme Funktion
<?php class Test{ //成员函数 function callback($a,$b){ echo "callback $a<====>$b.<br/>"; } public static function staticCallback($a,$b){ echo "staticCallback $a<====>$b.<br/>"; } } //非静态方法调用方式一 $test = new Test(); call_user_func(array($test, 'callback'), 1,2); call_user_func_array(array($test, 'callback'), array(1,2)); //非静态方法调用方式二 $func = 'callback'; $test->$func(7,9); //静态方法调用方式 call_user_func(array('Test', 'staticCallback'), 4,6); call_user_func_array(array('Test', 'staticCallback'), array(4,6)); call_user_func_array("Test::staticCallback", array(4,6)); //结果 callback 1<====>2. callback 1<====>2. callback 7<====>9. staticCallback 4<====>6. staticCallback 4<====>6. staticCallback 4<====>6.
2.1. Anonyme Funktionen in PHP, auch Abschlüsse genannt, ermöglichen die Angabe einer Funktion ohne Namen. Die am häufigsten verwendeten sind die Parameter des Rückrufs Funktion Wert
2.2, Abschluss 2.2.1, Übergabe von Parametern und Referenzierung lokaler Variablen
<?php $closureFunc = function($str){ echo $str.'<br/>'; }; $closureFunc("hello world!"); //结果 hello world!
2.2.2. Return-Abschlussfunktion
2.2.3. Der Abschluss ändert den Wert des Kontexts und erfordert<?php $closureFunc = function($name){ $sex = '男'; $func = function($age)use ($name,$sex){ echo "$name--$sex--$age<br/>"; }; $func(23); }; $func = $closureFunc("lvfk"); //结果 lvfk--男--23Referenzübergabe
<?php $closureFunc = function($name){ echo 'closureFunc '; $sex = '男'; echo "$name+++$sex<br/>"; $func = function()use ($name,$sex){ echo "$name--$sex<br/>"; }; return $func; }; $func = $closureFunc("lvfk"); $func(); $func(); //结果 closureFunc lvfk+++男 lvfk--男 lvfk--男
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website! Empfohlene Lektüre:
<?php $closureFunc = function($name){ $age = 1; echo "$name+++$age<br/>"; $func = function()use ($name,&$age){ $age++; echo "$name--$age<br/>"; }; return $func; }; $func = $closureFunc("lvfk"); $func(); $func(); $func(); //结果 lvfk+++1 lvfk--2 lvfk--3 lvfk--4
PHP implementiert direkt die Generierung von Plakatwerbung
PHP ermittelt, ob WeChat oder Browser geöffnet ist
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von PHP-Callback-Funktionen und anonymen Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!