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令牌 Token改进版
Jul 18 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
PHP获取http请求的头信息实现步骤
Dec 16 PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 PHP
php两种无限分类方法实例
Apr 21 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
XHProf报告字段含义的解析
May 17 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
Jan 20 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
PHP+iframe模拟Ajax上传文件功能示例
Jul 02 PHP
php判断目录存在的简单方法
Sep 26 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 和 MySQL 基础教程(一)
2006/10/09 PHP
PHP中break及continue两个流程控制指令区别分析
2011/04/18 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
JavaScript必看小技巧(必看)
2016/06/07 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
详解用python实现简单的遗传算法
2018/01/02 Python
Python 字符串与二进制串的相互转换示例
2018/07/23 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
Ibatis如何使用动态表名
2015/07/12 面试题
性能测试工程师的面试题
2015/02/20 面试题
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
办护照工作证明范本
2014/01/14 职场文书
《理想》教学反思
2014/02/17 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
Log4j.properties配置及其使用
2021/08/02 Java/Android
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android