Heim > Artikel > Backend-Entwicklung > Ausführliche Erläuterung der Verwendung von PHP-Callback-Funktionen
Dieses Mal erkläre ich Ihnen ausführlich die Verwendung der Callback-Funktion von PHP, welche Vorsichtsmaßnahmen bei der Verwendung der PHP-Callback-Funktion gelten, und die Im Folgenden finden Sie praktische Beispiele. Stehen Sie auf und schauen Sie es sich an.
Die Beispiele in diesem Artikel beschreiben das Konzept und die Verwendung von PHP-Callback-Funktionen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
1. Das Konzept der Rückruffunktion
Werfen wir zunächst einen Blick auf die Callback-Funktion in C-Sprache: Die Callback-Funktion ist eine Funktion, die über den Funktionszeiger aufgerufen wird. Wenn Sie einen Funktionszeiger (Adresse) als Parameter an eine andere Funktion übergeben und dieser Zeiger zum Aufrufen der Funktion verwendet wird, auf die er zeigt, sprechen wir von einer Callback-Funktion. Die Rückruffunktion wird nicht direkt vom Implementierer der Funktion aufgerufen, sondern von einer anderen Partei, wenn ein bestimmtes Ereignis oder eine bestimmte Bedingung eintritt, um auf das Ereignis oder die Bedingung zu reagieren.
Das Konzept von Rückruffunktionen in anderen Sprachen ist ähnlich, aber die Implementierungsmechanismen von Rückruffunktionen in verschiedenen Sprachen sind unterschiedlich. Im Allgemeinen ist die Rückruffunktion eine Funktion, die wir definieren, aber wir rufen sie nicht direkt auf, sondern durch Um eine andere Funktion aufzurufen, ruft diese Funktion die Rückruffunktion auf, indem sie deren Namen und Parameter empfängt.
2. Implementierung der Callback-Funktion in PHP
PHP bietet zwei integrierte Funktionen call_user_func()
und call_user_func_array()
, um Rückruffunktionen zu unterstützen. Der Unterschied zwischen diesen beiden Funktionen besteht darin, dass call_user_func_array die Parameter der Callback--Funktion in Form eines Arrays erhält. Dies können Sie anhand des Prototyps erkennen: mixed call_user_func_array (. aufrufbar $callback , array$param_arr ), das nur zwei Parameter hat. Und call_user_func($callback, Parameter 1, Parameter 2,...) Die Anzahl der Parameter von wird entsprechend den Parametern der Callback-Funktion bestimmt.
So implementieren Sie Rückrufe für globale Funktionen in Skripten, nicht statische Methoden, die $this nicht in Klassen verwenden, nicht statische Methoden, die $this in Klassen verwenden (Objekte müssen übergeben werden) und statische Methoden In Klassen ist der Code, der den Test bestanden hat, wie folgt.
<?php //普通函数 function f1($arg1,$arg2) { echo FUNCTION.'exec,the args is:'.$arg1.' '.$arg2; echo "<br/>"; } //通过call_user_func调用函数f1 call_user_func('f1','han','wen'); //通过call_user_func_array调用函数 call_user_func_array('f1',array('han','wen')); class A { public $name; function show($arg1) { echo 'the arg is:'.$arg1."<br/>"; echo 'my name is:'.$this->name; echo "<br/>"; } function show1($arg1,$arg2) { echo METHOD.' exec,the args is:'.$arg1.' '.$arg2."<br/>"; } public static function show2($arg1,$arg2) { echo METHOD.' of class A exec, the args is:'.$arg1.' '.$arg2."<br/>"; } } //调用类中非静态成员函数,该成员函数中有$this调用了对象中的成员 $a = new A; $a->name = 'wen'; call_user_func_array(array($a,'show',),array('han!')); //调用类中非静态成员函数,没有对象被创建,该成员函数中不能有$this call_user_func_array(array('A','show1',),array('han!','wen')); //调用类中静态成员函数 call_user_func_array(array('A','show2'),array('argument1','argument2'));
Laufergebnisse:
f1exec,the args is:han wen f1exec,the args is:han wen the arg is:han! my name is:wen A::show1 exec,the args is:han! wen A::show2 of class A exec, the args is:argument1 argument2
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:
So verwenden Sie die Funktion file_put_contents in PHP
So bedienen Sie Phar-Dateien in PHP
So finden Sie den längsten gemeinsamen Teilstring in PHP
Welche Methoden gibt es zum Generieren von Zufallszahlen in PHP
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung von PHP-Callback-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!