欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP 函數(shù)call_user_func和call_user_func_array用法詳解

 更新時(shí)間:2014年03月02日 10:31:46   作者:  
下面來(lái)和大家分享一下這個(gè)call_user_func_array和call_user_func函數(shù)的用法,另外附贈(zèng)func_get_args()函數(shù)和func_num_args()函數(shù),嘿嘿!!

call_user_func函數(shù)是當(dāng)需要?jiǎng)討B(tài)調(diào)用函數(shù)時(shí),才使用的,這個(gè)函數(shù)有兩種用法:
第一種是調(diào)用孤獨(dú)的函數(shù):

復(fù)制代碼 代碼如下:
<?php
function funa($b,$c)
{
    echo $b;
    echo $c;
}
call_user_func('funa', "111","222");
call_user_func('funa', "333","444");
//顯示 111 222 333 444
//大家有沒(méi)有發(fā)現(xiàn),這個(gè)用法有點(diǎn)像javascript中的call方法,嘿嘿
?>

第二種是調(diào)用類內(nèi)部的函數(shù):
復(fù)制代碼 代碼如下:
<?php
class a {
    function b()
    {
        $args = func_get_args();
        $num = func_num_args();
        print_r($args);
        echo $num;
    }
}
call_user_func(array("a", "b"),"111","222");
?>

上面這個(gè)例子,自己運(yùn)行一下看看結(jié)果是什么吧~嘿嘿~提示一下func_get_args()函數(shù)是獲取傳入到函數(shù)中的參數(shù),返回一個(gè)數(shù)組,func_num_args()函數(shù)獲取傳入函數(shù)中的參數(shù)的個(gè)數(shù)。

下面再來(lái)看看call_user_func_array函數(shù)
這個(gè)函數(shù)也是當(dāng)需要?jiǎng)討B(tài)調(diào)用函數(shù)時(shí)用到的,它的用法和call_user_func函數(shù)比較像,只是參數(shù)傳入的是數(shù)組。

復(fù)制代碼 代碼如下:
<?php
function a($b, $c)
{
    echo $b;
    echo $c;
}
call_user_func_array('a', array("111", "222"));
//顯示 111 222
?>

call_user_func_array函數(shù)也可以調(diào)用類內(nèi)部的方法的

復(fù)制代碼 代碼如下:
<?php
Class ClassA
{
    function bc($b, $c) {

        $bc = $b + $c;
        echo $bc;
    }

}
call_user_func_array(array(‘ClassA','bc'), array(“111″, “222″));
//顯示 333
?>


下面再看一個(gè)動(dòng)態(tài)調(diào)用函數(shù)的例子:
復(fù)制代碼 代碼如下:
<?php
function otest1 ($a)
{
     echo( '一個(gè)參數(shù)' );
}

function otest2 ( $a, $b)
{
    echo( '二個(gè)參數(shù)' );
}

function otest3 ( $a ,$b,$c)
{
    echo( '三個(gè)啦' );
}

function otest (){
    $args = func_get_args();
    $num = func_num_args();
    call_user_func_array( 'otest'.$num, $args  );
}
otest("11");
otest("11","22");
otest("11","22","33");
?>

相關(guān)文章

最新評(píng)論