php 传递回调函数的几种写法 学习笔记
参考网址 http://www.zeroplace.cn/article.asp?id=901
第一种, 常规的php全局函数
function test($echo)
{
echo $echo, "\n";
}
$param = array("www.zeroplace.cn");
下面两种方法都行:
call_user_func_array(test, $param);
call_user_func_array("test", $param);
第二种, 类的静态方法
class TestC
{
static function test($echo)
{
echo $echo, "\n";
}
}
$param = array("www.zeroplace.cn");
call_user_func_array(array(TestC, "test"), $param);
call_user_func_array(array("TestC", "test"), $param);
第三种,对象的方法
class TestC
{
protected $_a = "hello word";
function test($echo)
{
$this->_a = $echo;
}
function show()
{
echo $this->_a, "\n";
}
}
$param = array("www.zeroplace.cn");
$obj = new TestC();
call_user_func_array(array($obj, "test"), $param);
第四种,匿名方法
call_user_func_array(function($p){
//处理逻辑
}, $param);

浙公网安备 33010602011771号