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 !
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('add', 5, 9); echo '5 + 9 ='.$d; ?>
Résultat de sortie :
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)
在语法格式中,$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('add', 3, 4); echo '3 + 4 ='.$sum; ?>
输出结果:
call_user_func()
call_user_func 函数会把第一个参数作为回调函数来调用,语法格式如下:
call_user_func ($callback [, $parameter, ... ])
其中, $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()
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('add', 250, 250); echo '250 + 250 ='.$sum; ?>
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,'plusx2'); //将plusx2改成jian试试结果 echo woziji(20,10,'jian'); ?>
,
" 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!