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);