真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP中的call_user_func()與call_user_func_array()函數(shù)是什么

這篇文章給大家分享的是有關(guān)PHP中的call_user_func()與call_user_func_array()函數(shù)是什么的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)始終堅持【策劃先行,效果至上】的經(jīng)營理念,通過多達10年累計超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的營銷推廣解決方案,現(xiàn)已廣泛運用于各行各業(yè)的客戶,其中包括:成都食品包裝袋等企業(yè),備受客戶贊美。

call_user_func:把一個參數(shù)作為回調(diào)函數(shù)調(diào)用

用法說明:

call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] ) : mixed

參數(shù)說明:

第一個參數(shù)$callback作為回調(diào)函數(shù),其它參數(shù)都是回調(diào)函數(shù)的參數(shù)。

$parameter:傳入回調(diào)$callback函數(shù)的參數(shù),這里的參數(shù)注意不能引用傳遞。

下面簡單例子分別說明了在不同情況下使用call_user_func:

//先引用,后執(zhí)行
function _call($call){
    echo $call++.'
'; echo $call++.'
'; return $call; } $rs = call_user_func('_call',1); var_dump($rs); //結(jié)果 //1 //2 //int(3)

先執(zhí)行,后引用

$arg = 1;
call_user_func(function ($call){
    echo ++$call.'
'; echo ++$call.'
'; },$arg); //結(jié)果為2,3

回調(diào)函數(shù)不傳值,通過func_get_arg和func_get_args獲取參數(shù)

$argOne = 1;
$argTwo = 2;
call_user_func(function (){
    //獲取第幾個參數(shù)
    $arg = func_get_arg(0);
    var_dump($arg);
    echo '
'; //獲取所有的參數(shù),并以數(shù)組的形式返回 $args = func_get_args(); var_dump($args); //獲取參數(shù)個數(shù) $argNum = func_num_args(); echo "
"; var_dump($argNum); },$argOne,$argTwo); //結(jié)果為 int(1) array(2) { [0]=> int(1) [1]=> int(2) } int(2)

調(diào)用類方法:

調(diào)用類中的靜態(tài)方法有兩種形式,而調(diào)用public方法第一個參數(shù)只能為數(shù)組

class Func{

    static public function _One(){
        $str = "THE CLASS NAME IS".__CLASS__." AND CLASS STATIC METHOD IS ".__METHOD__;
        $argNum = func_num_args();
        if($argNum){
            $arg = func_get_arg(0);
            return $str.' and argument is '.$arg;
        }else{
            return $str;
        }
    }


    public function _Two($num){
        return $num ? $num + 1 : $num;
    }

}

echo "
"; //調(diào)用類的靜態(tài)方法 var_dump(call_user_func('Func::_One','one')); echo '
'; var_dump(call_user_func(['Func','_One'])); $num = 4; $o = new Func; //調(diào)用類普通方法 $return = call_user_func(array($o,'_Two'),$num); echo '
'; var_dump($return); 結(jié)果: string(79) "THE CLASS NAME ISFunc AND CLASS STATIC METHOD IS Func::_One and argument is one" string(59) "THE CLASS NAME ISFunc AND CLASS STATIC METHOD IS Func::_One" int(5)

調(diào)用有命名空間的類時call_user_func的用法與上面的同理

//調(diào)用靜態(tài)方法
call_user_func(array(__NAMESPACE__.'\StaticDemo','_One'),100);
call_user_func('App\StaticDemo::_One',200);
//調(diào)用public方法
call_user_func(array($obj,'_Two'),2,3,4);  

最后:
和call_user_func函數(shù)類似的還有call_user_func_array,call_user_func_array的作用和call_user_func的作用一樣,
不同的是call_user_func用回調(diào)函數(shù)處理字符,而call_user_func_array用回調(diào)處理數(shù)組,也就是說call_user_func_array的參數(shù)二只能為數(shù)組。

感謝各位的閱讀!關(guān)于PHP中的call_user_func()與call_user_func_array()函數(shù)是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


標題名稱:PHP中的call_user_func()與call_user_func_array()函數(shù)是什么
標題URL:http://weahome.cn/article/iiiehe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部