Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung von PHP-Callback-Funktionen (detaillierte Beispiele)

Verwendung von PHP-Callback-Funktionen (detaillierte Beispiele)

WBOY
WBOYOriginal
2021-10-15 14:36:384826Durchsuche

Im vorherigen Artikel habe ich Ihnen „So spielen Sie mit benutzerdefinierten PHP-Funktionen (Zusammenfassungsfreigabe)“ vorgestellt. In diesem Artikel werfen wir einen Blick auf die grundlegende Rückruffunktion von PHP in der Funktion. Hoffe, es hilft allen!

Verwendung von PHP-Callback-Funktionen (detaillierte Beispiele)

PHP-Rückruffunktion


Rückruffunktion, eine Funktionsstruktur, die mit anonymen Funktionen und variablen Funktionen zusammenarbeiten kann, um mehr Funktionen zu erreichen.

Was ist eine Rückruffunktion?

Die Rückruffunktion in PHP bedeutet tatsächlich, dass beim Aufrufen einer Funktion keine Standardvariablen als Parameter an die Funktion übergeben werden, sondern eine andere Funktion als Parameter an die aufgerufene Funktion.

Es versteht sich, dass die Rückruffunktion ebenfalls eine von uns definierte Funktion ist, sie wird jedoch nicht direkt aufgerufen, sondern erfordert den Aufruf einer anderen Funktion.

Das Beispiel sieht wie folgt aus:

<?php
    function arithmetic($a, $b, $c) {
        return $a($b, $c);
    }
    function add($b,$c){
        return $b+$c;
    }
    $d = arithmetic(&#39;add&#39;, 5, 9);
    echo &#39;5 + 9 =&#39;.$d;
?>

Ausgabeergebnis:


Verwendung von PHP-Callback-Funktionen (detaillierte Beispiele)

Darüber hinaus stellt PHP zwei Funktionen call_user_func() und call_user_func_array() zur Verfügung Handle-Callbacks-Funktion zur Unterstützung. call_user_func()call_user_func_array() 来对回调函数进行支持。

这两个函数的区别是: call_user_func_array() 是以数组的形式接收回调函数的参数,而 call_user_func() 则是以具体的参数来接收回调函数参数的。

  • call_user_func_array() 

call_user_func_array 函数可以调用回调函数,然后使用一个数组来作为回调函数的参数。语法格式如下:

call_user_func_array ($callback ,$param_arr)

在语法格式中,$callback 是被调用的回调函数,$param_arr 是一个索引数组,下面举个例子实际看一下:

<?php
    function arithmetic($f, $m, $n) {
        return call_user_func_array($f, array($m, $n));
    }
    function add($m,$n){
        return $m+$n;
    }
    $sum = arithmetic(&#39;add&#39;, 3, 4);
    echo &#39;3 + 4 =&#39;.$sum;
?>

输出结果:

Verwendung von PHP-Callback-Funktionen (detaillierte Beispiele)

  • call_user_func() 

call_user_func 函数会把第一个参数作为回调函数来调用,语法格式如下:

call_user_func ($callback [, $parameter, ... ])

其中, $callback 是被调用的回调函数,其余参数是回调函数的参数,多个参数之间使用",

Der Unterschied zwischen diesen beiden Funktionen ist: call_user_func_array() empfängt die Parameter der Callback-Funktion in Form eines Arrays, während call_user_func() die Parameter der Callback-Funktion in Form spezifischer Parameter empfängt.


  • call_user_func_array()

    Verwendung von PHP-Callback-Funktionen (detaillierte Beispiele)

Die Funktion call_user_func_array kann die Callback-Funktion aufrufen und dann ein Array als verwenden Callback-Funktionsparameter. Das Syntaxformat ist wie folgt:

<?php
    function arithmetic($f, $m, $n) {
        return call_user_func($f, $m, $n);
    }
    function add($m,$n){
        return $m+$n;
    }
    $sum = arithmetic(&#39;add&#39;, 250, 250);
    echo &#39;250 + 250 =&#39;.$sum;
?>

Im Syntaxformat ist $callback die aufgerufene Callback-Funktion, $param_arr ist ein Indexarray. Nehmen wir ein Beispiel, um es in der Praxis zu sehen:

<?php
function woziji($one,$two,$func){
       //我规定:检查$func是否是函数,如果不是函数停止执行本段代码,返回false
       if(!is_callable($func)){
               return false;
       }
       //我把$one、$two相加,再把$one和$two传入$func这个函数中处理一次
       //$func是一个变量函数,参见变量函数这一章
       echo $one + $two + $func($one,$two);
}
//我们定义几个函数试试
function plusx2( $foo , $bar){
       $result = ($foo+$bar)*2;
       return $result;
}
function jian( $x , $y ){
   $result = $x - $y;
   return $result;
}
//调用一下函数,woziji,向里面传入参数试试
echo woziji(20,10,&#39;plusx2&#39;);
//将plusx2改成jian试试结果
echo woziji(20,10,&#39;jian&#39;);
?>

Ausgabeergebnis:

Verwendung von PHP-Callback-Funktionen (detaillierte Beispiele)

🎜call_user_func-Funktion ruft den ersten Parameter als Rückruffunktion auf. Das Syntaxformat ist wie folgt: 🎜rrreee 🎜wobei $callback die aufgerufene Callback-Funktion ist und die übrigen Parameter die Parameter der Callback-Funktion sind. Verwenden Sie „,“, um mehrere Parameter zu trennen. Nehmen wir ein Beispiel, um es in Aktion zu sehen: 🎜rrreee🎜 Ausgabeergebnis: 🎜🎜🎜🎜🎜🎜 Als nächstes möchte ich Ihnen ein Beispiel für die Kombination von Variablenfunktion und Rückruffunktion zeigen: 🎜rrreee🎜 Ausgabeergebnis: 🎜🎜🎜🎜🎜 🎜 Empfohlenes Lernen:《🎜PHP-Video-Tutorial🎜》🎜

Das obige ist der detaillierte Inhalt vonVerwendung von PHP-Callback-Funktionen (detaillierte Beispiele). 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