本来php?name=php">php是不支持函数重载的!
php 作为一种弱类型语言,本身不能像强类型如java ,c++那样,直接的实现重载。不过可以通过一些方法,间接的实现重载。
1.可以使用func_get_args()和func_num_args()这两个函数实现函数的重载!!
PHP代码:
<span>function</span><span> rewrite() {
</span><span>$args</span> = <span>func_get_args</span><span>();
</span><span>if</span>(<span>func_num_args</span>() == 1<span>) {
func1(</span><span>$args</span>[0<span>]);
} </span><span>else</span> <span>if</span>(<span>func_num_args</span>() == 2<span>) {
func2(</span><span>$args</span>[0], <span>$args</span>[1<span>]);
}
}
</span><span>function</span> func1(<span>$arg</span><span>) {
</span><span>echo</span> <span>$arg</span><span>;
}
</span><span>function</span> func2(<span>$arg1</span>, <span>$arg2</span><span>) {
</span><span>echo</span> <span>$arg1</span>, ' ', <span>$arg2</span><span>;
}
rewrite(</span>'PHP'); <span>//</span><span>调用func1 </span>
rewrite('PHP','China'); <span>//</span><span>调用func2 </span>2.使用默认值,从而根据输入,得到自己想要的结果:
立即学习“PHP免费学习笔记(深入)”;
<span>function</span> test(<span>$name</span>="小李",<span>$age</span>="23"<span>){
</span><span>echo</span> <span>$name</span>." ".<span>$age</span><span>;
}
test();
</span><span>echo</span> "<br/>"<span>;
test(</span>"a"<span>);
</span><span>echo</span> "<br/>"<span>;
test(</span>"a","b");
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号