加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php函数重载的替代方法--伪重载详解

发布时间:2020-12-12 20:52:03 所属栏目:PHP教程 来源:网络整理
导读:函数重载的替代方法-伪重载,下面看一个具体的实例代码。 function testOne ( $a ) { echo (' 一个参数就这样 '); } function testTwo ( $a,$b ){ echo (' 两个参数的就这样 '); } function testThree ($a,$b,$c ) { echo (' 黑黑,这是三个参数的 '); } fun

函数重载的替代方法-伪重载,下面看一个具体的实例代码。

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 ( ' ' );
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 ] );
break ;
case 2 :
$this -> test2( $_arg [ 0 ],$_arg [ 1 ]);
break ;
default :
$this -> a = 0 ;
$this -> b = 1 ;
break ;
}
}

function test1 ($a) {
$this -> a = $a ;
}

function test2 ($a,$b) {
$this -> a = $a ;
$this -> b = $b ;
}
}
?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

(编辑:李大同)

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

    推荐文章
      热点阅读