call_user_func的主要用途是什么,如何使用
Admin 2022-08-16 群英技术资讯 1032 次浏览
今天小编跟大家讲解下有关“call_user_func的主要用途是什么,如何使用”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。官方的解释是:把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数。
第一个参数可以是函数名,后面的均为作为该函数使用的参数。
看例子:
// 1. 初步使用 function sayHi($name){ echo $name .' say hi' ."<br>"; } call_user_func('sayHi','Bob'); call_user_func('sayHi','Jack');
输出:
Bob say hi
Jack say hi
著名的斐波那契函数,如果哪天我们改变了函数名即Factorial,那么该函数会报错,因为内部也使用到了Factorial。
function Factorial($i=1) { return ($i==1 ? 1 : $i*Factorial($i-1)); }
改进一下:
function FactorialImprove($i=1){ return ($i == 1 ? 1 : $i * call_user_func(__FUNCTION__,$i-1)); }
这样的话如果外部函数名怎么变都不会出错。这里用到了PHP中的 __FUNCTION__ 魔法常量。
该函数接收两个参数,第一个参数不变,函数名,第二个是参数数组。
$func = function($arg1, $arg2) { return $arg1 * $arg2; }; var_dump(call_user_func_array($func, array(2, 4)));
其实 call_user_func 函数在事件处理中有起到非常重要的作用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php Mhash算法的加密:1、Mhash提供了一个非常方便的 Salted S2K 算法可以用来方便地生成一套非常方便地密码加密内容。2、有salt参数,并且可以指定返回的数据长度。返回的也是二进制的数据。
正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符、词或算式等。但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时。...
今天我们一起来了解一下Laravel参数验证的相关内容,对于Laravel参数验证,有些朋友可能存在一些疑惑。例如验证器怎么创建的,谁创建的?如何自定义验证规则?如何实现用当期类方法作为验证规则验证函数?对此下文就给大家俩解答一下,感兴趣的朋友就继续往下看吧。
本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。
CakePhp作为主流的基于MVC架构的php框架,能够实现快速编写项目代码。使用方式如下:1、$uses来声明;2、转换成对象;3、cakephp 查询。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008