PHP小技巧之函数重载


Posted in PHP onJune 02, 2014

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 "<br/>";  
    test("a");  
    echo "<br/>";  
    test("a","b");
PHP 相关文章推荐
一个PHP模板,主要想体现一下思路
Dec 25 PHP
PHP 遍历XP文件夹下所有文件
Nov 27 PHP
PHP 导出Excel示例分享
Aug 18 PHP
浅谈php和.net的区别
Sep 28 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
PHP图片加水印实现方法
May 06 PHP
php实现微信扫码支付
Mar 26 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
Aug 07 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 PHP
Thinkphp集成抖音SDK的实现方法
Apr 28 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 PHP
mac下Apache + MySql + PHP搭建网站开发环境
Jun 02 #PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 #PHP
PHP is_subclass_of函数的一个BUG和解决方法
Jun 01 #PHP
PHP中数组的分组排序实例
Jun 01 #PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 #PHP
PHP Curl出现403错误的解决办法
May 29 #PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
May 29 #PHP
You might like
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
详解package.json版本号规则
2019/08/01 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
python检查指定文件是否存在的方法
2015/07/06 Python
Python根据服务获取端口号的方法
2019/09/25 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
详解python如何引用包package
2020/06/07 Python
python中有帮助函数吗
2020/06/19 Python
python中实现词云图的示例
2020/12/19 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
保送生自荐信范文
2013/10/06 职场文书
开水果连锁店创业计划书
2013/12/29 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
给校长的建议书500字
2014/05/15 职场文书
会计学自荐信
2014/06/03 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2015年检验科工作总结
2015/04/27 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技