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

  

posted @ 2018-03-20 21:21  lc_vip_000  阅读(1027)  评论(0编辑  收藏  举报