为你解析PHP回调函数
PHP 中的回调函数与 C、Java 等说话的回调函数的浸染是千篇一律的,都是在函数执行的进程中,跳转到回调函数中,当回调函数执行完毕之后,再回到之前的函数处理赏罚接下来的措施。 PHP中回调函数的实现 在 PHP 中挪用回调函数,不像 C、Java 等说话那样直接行使函数名作为函数参数,而是行使函数名对应的字符串名称来挪用。 示例代码如下所示:
<?php function arithmetic($funcName, $m, $n) { return $funcName($m, $n); } function add($m,$n){ return $m+$n; }
$sum = arithmetic('add', 5, 9); echo '5 + 9 ='.$sum; ?> 运行功效如下:5 + 9 =14 其它,PHP 还提供了两个内置函数 call_user_func() 和 call_user_func_array() 来对回调函数举办支持。这两个函数的区别是 call_user_func_array() 是以数组的情势吸取回调函数的参数,而 call_user_func() 则是以详细的参数来吸取回调函数参数的。 1) call_user_func() call_user_func 函数会把第一个参数作为回调函数来挪用,其语法名目如下:call_user_func ($callback [, $parameter, ... ]) 个中,第一个参数 $callback 是被挪用的回调函数,别的参数是回调函数的参数,多个参数之间行使,脱离。 【示例】下面通过一个简朴的示例来演示一下 call_user_func 函数的行使。
<?php function arithmetic($funcName, $m, $n) { return call_user_func($funcName, $m, $n); } function add($m,$n){ return $m+$n; }
$sum = arithmetic('add', 7, 17); echo '7 + 17 ='.$sum; ?> 运行功效如下:7 + 17 =24 2) call_user_func_array() call_user_func_array 函数可以挪用回调函数,并行使一个数组来作为回调函数的参数,其语法名目如下:call_user_func_array ($callback ,$param_arr) 个中,第一个参数 $callback 是被挪用的回调函数,$param_arr 是一个索引数组,用来存储必要传入回调函数中的详细参数。(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |