亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

淺談PHP中的call_user_func()與call_user_func_array()函數

2024-09-04 11:49:46
字體:
來源:轉載
供稿:網友

本篇文章主要是對PHP中的call_user_func()與call_user_func_array()函數的作用以及使用方法做簡要說明,感興趣的朋友來學習一下吧。

call_user_func:把一個參數作為回調函數調用

用法說明:

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

參數說明:

第一個參數$callback作為回調函數,其它參數都是回調函數的參數。

$parameter:傳入回調$callback函數的參數,這里的參數注意不能引用傳遞。

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

  1. //先引用,后執行 
  2.  
  3. function _call($call){ 
  4.  
  5.     echo $call++.'<br/>'
  6.  
  7.     echo $call++.'<br/>'
  8.  
  9.     return $call
  10.  
  11.  
  12. $rs = call_user_func('_call',1); 
  13.  
  14. var_dump($rs); 
  15.  
  16. //結果 
  17.  
  18. //1 
  19.  
  20. //2 
  21.  
  22. //int(3) 

先執行,后引用

  1. $arg = 1; 
  2.  
  3. call_user_func(function ($call){ 
  4.  
  5.     echo ++$call.'<br/>'
  6.  
  7.     echo ++$call.'<br/>'
  8.  
  9. },$arg); 
  10.  
  11. //結果為2,3 

回調函數不傳值,通過func_get_arg和func_get_args獲取參數

  1. $argOne = 1; 
  2.  
  3. $argTwo = 2; 
  4.  
  5. call_user_func(function (){ 
  6.  
  7.     //獲取第幾個參數 
  8.  
  9.     $arg = func_get_arg(0); 
  10.  
  11.     var_dump($arg); 
  12.  
  13.     echo '<br/>'
  14.  
  15.     //獲取所有的參數,并以數組的形式返回 
  16.  
  17.     $args = func_get_args(); 
  18.  
  19.     var_dump($args); 
  20.  
  21.     //獲取參數個數 
  22.  
  23.     $argNum = func_num_args(); 
  24.  
  25.     echo "<br/>"
  26.  
  27.     var_dump($argNum); 
  28.  
  29. },$argOne,$argTwo); 
  30.  
  31.  
  32.  
  33. //結果為 
  34.  
  35. int(1)  
  36.  
  37. array(2) { [0]=> int(1) [1]=> int(2) }  
  38.  
  39. int(2) 

調用類方法:

調用類中的靜態方法有兩種形式,而調用public方法第一個參數只能為數組

  1. class Func{  
  2.  
  3.     static public function _One(){ 
  4.  
  5.         $str = "THE CLASS NAME IS".__CLASS__." AND CLASS STATIC METHOD IS ".__METHOD__
  6.  
  7.         $argNum = func_num_args(); 
  8.  
  9.         if($argNum){ 
  10.  
  11.             $arg = func_get_arg(0); 
  12.  
  13.             return $str.' and argument is '.$arg
  14.  
  15.         }else
  16.  
  17.             return $str
  18.  
  19.         } 
  20.  
  21.     }    
  22.  
  23.     public function _Two($num){ 
  24.  
  25.         return $num ? $num + 1 : $num
  26.  
  27.     } 
  28.   
  29.  
  30.  
  31. echo "<br/>"
  32.  
  33. //調用類的靜態方法 
  34.  
  35. var_dump(call_user_func('Func::_One','one')); 
  36.  
  37. echo '<br/>'
  38.  
  39. var_dump(call_user_func(['Func','_One'])); 
  40.  
  41. $num = 4; 
  42.  
  43. $o = new Func; 
  44.  
  45. //調用類普通方法 
  46. //Vevb.com 
  47. $return = call_user_func(array($o,'_Two'),$num); 
  48.  
  49. echo '<br/>'
  50.  
  51. var_dump($return); 

結果:

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)

調用有命名空間的類時call_user_func的用法與上面的同理

  1. //調用靜態方法 
  2.  
  3. call_user_func(array(__NAMESPACE__.'/StaticDemo','_One'),100); 
  4.  
  5. call_user_func('App/StaticDemo::_One',200); 
  6.  
  7. //調用public方法 
  8.  
  9. call_user_func(array($obj,'_Two'),2,3,4);  

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91sa在线看| 亚州成人av在线| 日韩欧美国产视频| 97香蕉超级碰碰久久免费软件| 136fldh精品导航福利| 亚洲大胆人体av| xxx成人少妇69| 国产精品免费一区豆花| 欧美最猛性xxxxx免费| 国产成人午夜视频网址| 日本在线观看天堂男亚洲| 国产一区视频在线| www欧美xxxx| 国产伦精品免费视频| 亚洲乱码国产乱码精品精天堂| 欧美中在线观看| 亚洲午夜av久久乱码| 亚洲欧美制服另类日韩| 国产精品久久久久久久久久三级| 国产精品99蜜臀久久不卡二区| 亚洲高清av在线| 久久在精品线影院精品国产| 成人黄在线观看| 久久久久久久久久久亚洲| 欧美孕妇孕交黑巨大网站| 日韩中文字幕国产精品| 久久久女人电视剧免费播放下载| 91精品国产高清久久久久久| 一本色道久久88精品综合| 国产一区二区三区在线播放免费观看| 亚洲国产精品久久精品怡红院| 最近免费中文字幕视频2019| 成人久久久久久久| 欧美成人在线免费视频| 91精品久久久久久久| 国产丝袜一区二区| 欧美国产日韩xxxxx| 久久久精品国产一区二区| 亚洲第一国产精品| 黄色一区二区三区| 国产精品99久久久久久久久久久久| 欧美高清在线播放| 欧美精品久久久久久久久| 国产乱人伦真实精品视频| 中文字幕亚洲一区在线观看| 91精品久久久久久久久久久久久久| 欧美丰满少妇xxxxx| 欧美性猛交丰臀xxxxx网站| 久久中文字幕在线视频| 91在线观看欧美日韩| 亚洲国产精品va在线观看黑人| 97在线视频免费| 亚洲乱码一区av黑人高潮| 96pao国产成视频永久免费| 色爱精品视频一区| 日韩精品免费在线视频观看| 欧美性xxxx在线播放| 亚洲变态欧美另类捆绑| 国产精品电影一区| 久久国产精品久久久久久久久久| 国产午夜精品视频免费不卡69堂| 日韩中文字幕精品| 精品久久久久久中文字幕一区奶水| 欧美一级bbbbb性bbbb喷潮片| 国产精品美乳一区二区免费| 亚洲第一视频在线观看| 国产欧美日韩中文字幕| 国产美女直播视频一区| 中文字幕精品—区二区| 国产精品网站视频| 亚洲欧美激情四射在线日| 北条麻妃一区二区在线观看| 日韩欧美在线字幕| 久久国产天堂福利天堂| 色综合亚洲精品激情狠狠| 高清视频欧美一级| 国产成人一区二区| 中文字幕无线精品亚洲乱码一区| 色樱桃影院亚洲精品影院| 亚洲精品www久久久| 亚洲精品一区二区三区婷婷月| 欧美精品亚州精品| 日韩av电影中文字幕| 日韩禁在线播放| 欧美最猛黑人xxxx黑人猛叫黄| 九九精品在线视频| 亚洲美女在线观看| 尤物九九久久国产精品的特点| 亚洲欧美日韩久久久久久| 亚洲国产91精品在线观看| 欧美日本国产在线| 综合av色偷偷网| 欧美精品videos性欧美| www日韩中文字幕在线看| 国自产精品手机在线观看视频| 国内精品久久久久久影视8| 久久综合国产精品台湾中文娱乐网| 国产精品男女猛烈高潮激情| 日韩精品极品视频免费观看| 亚洲人成在线免费观看| 欧美激情精品久久久久| 精品免费在线视频| 国产美女精品视频| 国产精品精品视频一区二区三区| 欧美午夜www高清视频| 欧美国产乱视频| 国产狼人综合免费视频| 国产精品稀缺呦系列在线| 亚洲另类图片色| 成人午夜激情网| 久久91亚洲精品中文字幕奶水| 日韩欧美精品在线观看| 日本高清不卡的在线| 亚洲人成伊人成综合网久久久| 亚洲精品98久久久久久中文字幕| 91国产精品电影| 国内自拍欧美激情| 国产精品久久久久久久久久久新郎| 在线看日韩av| 91免费的视频在线播放| 亚洲最大在线视频| 亚洲人成网站777色婷婷| 一区二区欧美在线| 亚洲毛片在线免费观看| 亚洲成色999久久网站| 日韩中文字幕网| 亚洲va国产va天堂va久久| 久久久久久久久久久久久久久久久久av| 国产欧美久久久久久| 国产欧美欧洲在线观看| 97精品国产91久久久久久| 欧美午夜女人视频在线| 中文字幕久久亚洲| 国产精品网站视频| 国产激情999| 国产福利精品在线| 欧美黑人极品猛少妇色xxxxx| 精品久久香蕉国产线看观看亚洲| 一区二区三区亚洲| 久久久久久九九九| 欧美日韩第一视频| 精品久久久久久中文字幕| 日韩成人中文字幕在线观看| 亚洲欧美国产精品va在线观看| 97视频色精品| 亚洲人成电影网| 久久久久久久久久久免费| 疯狂欧美牲乱大交777| 欧美日韩成人黄色| 欧美午夜片欧美片在线观看| 久久夜色精品亚洲噜噜国产mv| 91精品久久久久久久久中文字幕| 欧美精品久久久久久久| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲免费视频观看| 成人免费xxxxx在线观看| 久久久久国产精品一区| 亚洲欧美一区二区激情| 亚洲无亚洲人成网站77777| 亚洲美腿欧美激情另类| 国产精品爽黄69天堂a| 欧美另类极品videosbestfree| 97视频在线观看成人| www.日韩视频|