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+MySQL的聊天室设计
Oct 09 PHP
简单采集了yahoo的一些数据
Feb 14 PHP
PHP JSON 数据解析代码
May 26 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
Dec 01 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
thinkPHP实现MemCache分布式缓存功能
Mar 23 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
PHP number_format函数原理及实例解析
Jul 14 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 变量的定义方法
2010/01/26 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
js实现图片和链接文字同步切换特效的方法
2015/02/20 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
vue中使用ueditor富文本编辑器
2018/02/08 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python字符串逐字符或逐词反转方法
2015/05/21 Python
python 链接和操作 memcache方法
2017/03/04 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
真正了解CSS3背景下的@font face规则
2017/05/04 HTML / CSS
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
.NET remoting的两种通道是什么
2016/05/31 面试题
学习十八大报告感言
2014/02/04 职场文书
纠纷协议书
2014/04/16 职场文书
新闻报道策划方案
2014/06/11 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
异地恋情人节寄语
2015/02/28 职场文书
2015年公司保安年终工作总结
2015/05/14 职场文书
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript