日期:2014-05-17  浏览次数:20607 次

这种程序如何实现
我想在一个类里面建两个方法如
PHP code
class ren
{
public function listing()
{
//code
}
public function listing($dd)
{
//code
}

}

这样能行吗?或者有没有更好的办法呢?

------解决方案--------------------
PHP只允许一个函数或方法名有一种定义。只能走个弯路
class ren
{
private function _listing()
{
//code
}
public function listing($dd = null)
{
is_null($dd) && $this->_listing();
//code
}

}
(new ren())->listing();
------解决方案--------------------
函数法的重载?
对不起,php 不支持!
php 只是做做动态网页而已,没必要弄的那么复杂
如果 php 搞得跟 C++、Java 一样,我想他也就没有市场了

不过 php 提供了
func_get_arg
func_num_args
func_get_args
三个函数。完全可以解决你的问题,不过需要你自己编程实现
------解决方案--------------------
php不支持重载
其实也有很多高级语言不支持重载的,c++只是用了一个奇怪的方法(编译器级)进行重载;一般认为重载会导致程序阅读产生混乱