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