加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php函数重载的替代技巧--伪重载详解

发布时间:2022-08-04 15:36:17 所属栏目:PHP教程 来源:互联网
导读:对于弱类型语言来说,PHP函数重载,并不像一般的OOP那样。而弱类型本来就不区分,所以无法通过这些来实现,但是,可以通过下面的方法来实现简单的 echo ( 一个参数就这样 ); } function testTwo ( $a , $b ){ echo ( 两个参数的就这样 ); } function testThr
  对于弱类型语言来说,PHP函数重载,并不像一般的OOP那样。而弱类型本来就不区分,所以无法通过这些来实现,但是,可以通过下面的方法来实现简单的
 
    echo (' 一个参数就这样 ');
  }
   
  function testTwo ( $a ,  $b ){
   echo (' 两个参数的就这样 ');
  }
   
  function testThree ($a,  $b,  $c ) {
   echo (' 黑黑,这是三个参数的 ');
  }
   
  function test () {
   $argNum  =  func_num_args ();
    // 这一段其实可以用 $_arg = func_get_args() 来获得所有的参数,只是要用数组而已,不方便我下面的表达,呵呵
   for ( $i  =  0 ; $i  <  $argNum ; $i ++ ) {
    $_arg_ { $i } =  func_get_arg ( $i );
   }
   switch ( $argNum ) {
    case  1 :
     testOne( $_arg_1 );
     break ;
    case  2 :
     testTwo( $_arg_1,  $_arg_2 );
     break ;
    case  3 :
     testThree( $_arg_1,  $_arg_2,  $_arg_3 );
     break ;
    default :
     echo ( ' 这是没有参数的情况 ' );
     break ;
   }
  }
  test();
  echo ( ' ' );
  test( 1 );
  echo ( ' ' );
  test( 1 , 2 );
  echo ( ' ' );
  test( 1 , 2 , 3 );
   
  // 这些只是在函数中的运用,其实最主要的还是在类中的运用
  //如果这些用到类里面我就不需要担心构造函数是否有几个参数了,不是吗?
   
  class test {
   var  $a  =  0 ;
   var  $b  =  0 ;
   
   function test () {
    $argNum  =  func_num_args ();
    $_arg  =  func_get_args ();
    switch ($argNum ) {
     case  1 :
     $this -> test1( $_arg [ 0 ] );
    
   function test1 ($a) {
    $this -> a =  $a ;
   }
   
   function test2 ($a,  $b) {
    $this -> a =  $a ;
    $this -> b =  $b ;
   }
  }
  ?>
  伪重载吧。
 
  函数重载的替代方法-伪重载,下面看一个具体的实例代码。

(编辑:云计算网_泰州站长网)

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

    热点阅读