background image

php 伪重载实例学习

函数重载的替代方法

-伪重载,下面看一个具体的实例代码。

代码如下

:

<? php
//函数重载的替代方法-伪重载
//
//确实,在 PHP 中没有函数重载这个概念,让很多时候我们无法进行一些处理,甚至有时
候不得不在函数后面定义好

N 个参数

//在看到了 func_get_arg,func_get_args,func_num_args,这三个函数的时候,你们是不是想起
了什么?
function  testOne (  $a  ) {
  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 (  '  '  );