解析php中如何调用用户自定义函数

    添加时间:2013-8-7 点击量:

    以下是对php中调用用户自定义函数的办法进行了具体的解析介绍,须要的伴侣可以过来参考下


    例子:
    call_user_func函数类似于一种特此外调用函数的办法,应用办法如下: 



    <?php
    
    function a(¥b¥c
    {
    echo ¥b;
    echo ¥c;
    }
    call_user_func(a, 111,222);
    call_user_func(a, 333,444);
    //显示 111 222 333 444
    ?>


    调用类内部的办法斗劲新鲜,居然用的是array,不知道开辟者是如何推敲的,当然省去了new,也是满有新意的: 



    <?php
    
    class a {
    function b(¥c
    {
    echo ¥c;
    }
    }
    call_user_funcarray(a, b),111);
    //显示 111
    ?>


    call_user_func_array函数和call_user_func很类似,只不过是换了一种体式格式传递了参数,让参数的布局更清楚: 



    <?php
    
    //call_user_func_array
    //by www.jbxue.com

    function a(¥b¥c
    {
    echo ¥b;
    echo ¥c;

    }
    call_user_func_array(a, array(111, 222));
    //显示 111 222
    ?>


    call_user_func_array函数也可以调用类内部的办法的 



    <?php
    
    Class ClassA
    {

    function bc(¥b¥c) {
    ¥bc = ¥b + ¥c;
    echo ¥bc;
    }
    }
    call_user_func_arrayarray(ClassA,bc), array(111, 222));

    //显示 333
    ?>


    call_user_func函数和call_user_func_array函数都支撑引用,这让他们和通俗的函数调用更趋于功能一致: 



    <?php
    
    //call_user_func
    //by www.jbxue.com

    function a(¥b
    {
    ¥b++;
    }
    ¥c = 0;
    call_user_func(a, ¥c);
    echo ¥c;//显示 1
    call_user_func_array(a, array¥c));
    echo ¥c;//显示 2
    ?>


    另:call_user_func函数和call_user_func_array函数都支撑引用。



    <?php
    
    function increment(&¥var
    {
    ¥var++;
    }
    ¥a = 0;
    call_user_func(increment, ¥a);
    echo ¥a; // 0
    call_user_func_array(increment, array(&¥a)); // You can use this instead
    echo ¥a; // 1
    ?>

    我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
    分享到: