call_user_func_array函数的用法

call_user_func_array是个很神奇的函数

在你PHP水平成长到一定高度的时候,你就能深刻理解它的意义了。

这里我给你举两个适合用call_user_func_array的例子,帮助你理解

场景一:参数数目不确定

函数的参数是用户传入的,而且参数的数目不确定。如果不用call_user_func_array你会怎么做?

一些PHP框架可以将$_GET参数自动映射到方法,就是这样实现的。

场景二:用于函数回调

回调函数可能是一个普通函数,可能是类方法,也可能是静态方法。

如果使用call_user_func_array,你就不用去判断方法的类型。


使用详解:

一、直接调用方法

.代码如下:

function test($a, $b) 
{
echo '测试一:'.$a.$b;
}
//调用test方法,array("asp", 'php')对应相应的参数
call_user_func_array('test', array("asp", 'php'));

二、通过类调用类中的方法

.代码如下:

class test2{
function phpSay($a, $b) 
{
echo '测试二:'.$a.$b;
}
}
$o = new test2();
//相当于:$o->phpSay('php','你好');
call_user_func_array(array(&$o, 'phpSay'), array('php','你好'));














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值