Chinaunix首页 | 论坛 | 博客
  • 博客访问: 448863
  • 博文数量: 141
  • 博客积分: 211
  • 博客等级: 入伍新兵
  • 技术积分: 1049
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-17 16:25
个人简介

如此经年,望尽千帆。

文章分类

全部博文(141)

文章存档

2014年(73)

2013年(65)

2012年(3)

我的朋友

分类: PHP

2014-06-23 05:57:30

 作为一种弱类型语言,本身不能像强类型如java ,c++那样,直接的实现重载。


可以通过一些方法,间接实现函数重载。

1,可以使用func_get_args()和func_num_args()这两个函数实现函数的重载。
PHP代码:

function rewrite() { $args = func_get_args(); if(func_num_args() == 1) {
func1($args[0]); 
} else if(func_num_args() == 2) { 
func2($args[0], $args[1]); 
} 
}  function func1($arg) { echo $arg; 
} function func2($arg1, $arg2) { echo $arg1, ' ', $arg2; 
} 
rewrite('PHP'); //调用func1  rewrite('PHP','China'); //调用func2

2.使用默认值,从而根据输入,得到自己想要的结果:

function test($name="小李",$age="23"){ echo $name." ".$age;
}

test(); echo "
"; test("a"); echo "
"; test("a","b");
阅读(1252) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~