Maison > développement back-end > tutoriel php > Comment utiliser les fonctions de rappel PHP (exemples détaillés)

Comment utiliser les fonctions de rappel PHP (exemples détaillés)

WBOY
Libérer: 2023-04-10 17:38:01
original
4859 Les gens l'ont consulté

Dans l'article précédent, je vous ai présenté "Comment jouer avec les fonctions personnalisées PHP (partage de résumé)". Cet article a présenté en détail les fonctions personnalisées en PHP. Dans cet article, jetons un coup d'œil à PHP La fonction de rappel de base. dans la fonction. J'espère que cela aidera tout le monde !

Comment utiliser les fonctions de rappel PHP (exemples détaillés)

Fonction de rappel PHP

Fonction de rappel, une structure de fonctions qui peut coopérer avec des fonctions anonymes et des fonctions variables pour obtenir plus de fonctions.

Qu'est-ce qu'une fonction de rappel ?

La fonction de rappel en PHP signifie en fait que lors de l'appel d'une fonction, au lieu de transmettre des variables standard à la fonction en tant que paramètres, une autre fonction est passée en paramètre à la fonction appelée. La fonction de rappel est cette fonction de paramètre.

On peut comprendre que la fonction de rappel est aussi une fonction que nous avons définie, mais elle n'est pas appelée directement, mais nécessite l'appel d'une autre fonction.

L'exemple est le suivant :

<?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;
?>
Copier après la connexion

Résultat de sortie :

Comment utiliser les fonctions de rappel PHP (exemples détaillés)

De plus, PHP fournit deux fonctions call_user_func() et call_user_func_array() pour gérer la fonction de rappel à prendre en charge. 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)
Copier après la connexion

在语法格式中,$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;
?>
Copier après la connexion

输出结果:

Comment utiliser les fonctions de rappel PHP (exemples détaillés)

  • call_user_func()

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

call_user_func ($callback [, $parameter, ... ])
Copier après la connexion

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

La différence entre ces deux fonctions est : call_user_func_array() reçoit les paramètres de la fonction de rappel sous forme de tableau, tandis que call_user_func() reçoit les paramètres de la fonction de rappel sous forme de paramètres spécifiques.

  • call_user_func_array() Comment utiliser les fonctions de rappel PHP (exemples détaillés)

La fonction call_user_func_array peut appeler la fonction de rappel, puis utiliser un tableau comme paramètres de la fonction de rappel. Le format de syntaxe est le suivant :

<?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;
?>
Copier après la connexion

Dans le format de syntaxe, $callback est la fonction de rappel appelée, $param_arr est un tableau d'index, prenons un exemple pour le voir en pratique :

<?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;);
?>
Copier après la connexion
Résultat de sortie :

Comment utiliser les fonctions de rappel PHP (exemples détaillés)

  • call_user_func() 🎜
🎜la fonction call_user_func appellera le premier paramètre comme fonction de rappel. Le format de syntaxe est le suivant : 🎜rrreee 🎜où $callback est la fonction de rappel appelée et les paramètres restants sont les paramètres de la fonction de rappel. Utilisez "," pour séparer plusieurs paramètres. Prenons un exemple pour le voir en action : 🎜rrreee🎜 Résultat de sortie : 🎜🎜🎜🎜🎜🎜 Ensuite, permettez-moi de partager avec vous un exemple de combinaison d'une fonction variable et d'une fonction de rappel : 🎜rrreee🎜 Résultat de sortie : 🎜🎜🎜🎜🎜 🎜 Apprentissage recommandé :《🎜Tutoriel vidéo PHP🎜》🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal