你这样是不行的
php不支持函数的重载,以后也不会支持
在oop中,函数的重载有两个条件
1、参数的个数不同——php支持参数缺省,无法用参数个数区别
2、参数的类型不同——php是弱类型语言,会根据上下文自动做类型转换
所以,php不可能支持函数的重载你可以这样定义函数
function sb($a,$b="",$c="") {
echo $a.$b.$c;
}
php不支持函数的重载,以后也不会支持
在oop中,函数的重载有两个条件
1、参数的个数不同——php支持参数缺省,无法用参数个数区别
2、参数的类型不同——php是弱类型语言,会根据上下文自动做类型转换
所以,php不可能支持函数的重载你可以这样定义函数
function sb($a,$b="",$c="") {
echo $a.$b.$c;
}
“很多人说php4不能支持函数重载”
http://www.chinaunix.net/jh/27/189443.html呵呵,虽然并不是真正意义上的重载,但是接口的对外表达形式和重载是一样的。
同是function定义,在过程你称作“函数”,在类里称作“方法”。
尽管php的类支持方法的重载,但同样不能在一个类定义中定义两个同名的方法
class x {
function aa($a,$b) {}
function aa($a) {}
}
但是在传递进不同个数的参数的时候调用了不同的方法~~~~C++class x
{
void aa(int a, int b);
void aa(int a);
}PHPclass x
{
function aa()
{
....
}
}使用
obj->aa(1,2);
$obj->aa(1, 2);形式上并没有不同~~~
yes,I believe it!