您的位置:首页 > 其它

call_user_func_array函数的用法

2014-07-01 15:29 197 查看
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','你好'));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: