加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网_保定站长网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php数据类型-Callback/Callable 类型

发布时间:2022-10-24 11:34:48 所属栏目:PHP教程 来源:
导读:  PHP的数据类型有:Boolean布尔类型、Integer整型、Float浮点型、String字符型、Array数组、Object对象、Resource资源类型、NULL、Callback/Callable类型。本文主要针对Callback/Callable类型

  自 PHP 5.4
  PHP的数据类型有:Boolean布尔类型、Integer整型、Float浮点型、String字符型、Array数组、Object对象、Resource资源类型、NULL、Callback/Callable类型。本文主要针对Callback/Callable类型
 
  自 PHP 5.4 起可用callable类型指定回调类型 callback。一些函数如call_user_func()或usort()可以接受用户自定义的回调函数作为参数。回调函数不止可以是简单函数,还可以是对象的方法,包括静态类方法。
 
  传递
 
  1.PHP是将函数以string形式传递的。
 
  可以使用任何内置或用户自定义函数,但除了语言结构例如:array(),echo,empty(),eval(),exit(),isset(),list(),print或unset()。
 
  function test(){
    echo '你好';
  }
  function test2($call){
      $call();
  }
  PHP数据类型_php 获取mime类型_php oracle date类型
 
 
  test2('test');//你好
  2. 一个已实例化的object的方法被作为array传递,下标 0 包含该object,下标 1 包含方法名。
 
  在同一个类里可以访问 protected 和 private 方法。
 
  class Test{
      public function show($str){
          echo $str;
      }
      public function index(){
          call_user_func(array($this, 'show'),'111');
      }
  }
  $a = new Test();
  php 获取mime类型_PHP数据类型_php oracle date类型
 
 
  $a->index();//111
  3. 静态类方法也可不经实例化该类的对象而传递,只要在下标 0 中包含类名而不是对象。
 
  自 PHP 5.2.3 起PHP数据类型,也可以传递'ClassName::methodName'。
 
  class Test{
      public static function show($str){
          echo $str;
      }
      public static function index(){
          call_user_func(array('Test', 'show'),'111');
      }
  }
  Test::index();//111
  除了普通的用户自定义函数外,也可传递匿名函数给回调参数。
 

(编辑:天瑞地安资讯网_保定站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!