Callback-Funktion Übergeben Sie eine Funktion als Parameter an die aufgerufene Funktion. Wenn in der Formatbeschreibung einer Funktion ein Parameter vom Typ Callback vorkommt, handelt es sich bei der Funktion um eine Callback-Funktion. Obwohl Sie Variablenfunktionen verwenden können, um Ihre eigenen Rückruffunktionen zu deklarieren, erfolgt die häufigste Implementierung über die Funktion call_user_func_array() . Im vorherigen Kapitel wurde die Deklaration und Anwendung von Variablenfunktionen in PHP-Rückruffunktionen vorgestellt. Die Verwendung variabler Funktionen zur Übergabe eines benutzerdefinierten Ausführungsprozesses an die Funktion hat die Erweiterung der Funktionsfunktionen durch den Benutzer erheblich erhöht selbstdefinierte Funktion zur zu verwendenden Funktion hinzufügen. In diesem Abschnitt wird die Funktion call_user_func_array() anhand eines Beispiels erläutert.
Die Funktion call_user_func_array() ist eine integrierte Funktion in PHP. Tatsächlich ist sie auch eine Rückruffunktion :
Diese Funktion hat zwei Parameter: Der erste Parameter verwendet einen Pseudotyp-Callback, daher erfordert dieser Parameter eine Zeichenfolge, die den Namen der aufzurufenden Funktion angibt; der zweite Parameter ist ein Array-Typ Parameter, der die Parameterliste angibt, wird entsprechend der Reihenfolge an die aufzurufende Funktion übergeben. Deklarieren Sie eine Funktion, deren Funktion ausgegeben wird und deren Zweck darin besteht, als Rückruffunktion der Funktion zu dienen.
mixed call_user_func_array( callback function, array param_arr)
<?php // 声明一个函数fun(),功能是输出两个字符串,目的是作为call_user_func_array()函数的回调函数 function fun($str1, $str2){ echo "$str1 = ".$str1; echo "<br>"; echo "$str2 = ".$str2; } //通过系统函数call_user_func_array()调用函数fun() call_user_func_array("fun",array("php.cn","php中文网")); ?>
Im obigen Beispiel durch System Die Funktion call_user_func_array() ruft die selbstdefinierte Funktion fun() auf und übergibt den Namensstring der Funktion fun() an den ersten Parameter in der Funktion call_user_func_array(). Der zweite Parameter erfordert ein Array das Gleiche wie die Parameterliste und der Baum der fun()-Funktion. Da jeder Elementwert in diesem Array-Parameter der Reihe nach über die Funktion call_user_func_array() an die Parameterliste der Rückruffunktion fun() übergeben wird. Daher können wir die durch die Variablenfunktion implementierte benutzerdefinierte Rückruffunktion in die Funktion call_user_func_array() ändern.
Ein Beispiel für den Code lautet wie folgt:In diesem Beispiel wird innerhalb der benutzerdefinierten Funktion filter() die ursprüngliche Position der Variablenfunktion neu geschrieben Die Methode zum Aufrufen der Funktion call_user_func_array() wurde geändert, die Anwendungsmethode der Funktion filter() jedoch nicht.
<?php //声明回调函数filter, 在0-10的整数中通过自定义条件过滤不要的数字 function filter($fun){ for($i=0; $i<=10; $i++){ //使用系统函数call_user_func_array(),调用和变量$fun值相同的函数 if(call_user_func_array($fun,array($i))) continue; echo $i.'<br>'; } } ?>
In diesem Kapitel werden die Funktion call_user_func_array() und ihre Verwendung der PHP-Callback-Funktion erläutert. Im nächsten Kapitel stellen wir die statische Funktion der Klasse
und den Objektmethoden-Callback der PHP-Callback-Funktion vor.【Empfohlene Tutorials】
1. "
php.cn Dugu Jiujian (4) - PHP-Video-Tutorial3 Praktische PHP-Video-Tutorials
Das obige ist der detaillierte Inhalt vonPHP-Funktionsrückruffunktion (2) call_user_func_array()-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!