PHP小技巧之函数重载

yipeiwu_com7年前PHP代码库

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对xml文件的增删改查操作实现方法分析

本文实例讲述了php对xml文件的增删改查操作实现方法。分享给大家供大家参考,具体如下: xml源文件 <?xml version="1.0" encoding="ut...

PHP使用curl_multi_select解决curl_multi网页假死问题的方法

本文实例讲述了PHP使用curl_multi_select解决curl_multi网页假死问题的方法。分享给大家供大家参考,具体如下: curl_multi可以批处理事务,给网页编程带来...

PHP实现的一致性Hash算法详解【分布式算法】

PHP实现的一致性Hash算法详解【分布式算法】

本文实例讲述了PHP实现的一致性Hash算法。分享给大家供大家参考,具体如下: 一致性哈希算法是分布式系统中常用的算法,为什么要用这个算法? 比如:一个分布式存储系统,要将数据存储到具体...

解决PHP4.0 和 PHP5.0类构造函数的兼容问题

在 PHP5.0 以上版本里,还兼容了 4.0 版本的构造函数的定义规则。如果同时定义了4.0的构造函数和 __construct()函数,则__construct() 函数优先。为了使...

自制PHP框架之路由与控制器

自制PHP框架之路由与控制器

我们为什么要使用路由?原因1:一个更漂亮的URI 1.URI的改进 刚刚开始学PHP时,我们一定写过blog.php?id=1之类的URI,使用GET方式获取参数。这样的URI有...