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

首頁 > 語言 > PHP > 正文

淺析PHP中call user func()函數及如何使用call user func調用自定義函數

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

使用call_user_func函數,通過傳入字符串函數,可以調用自定義函數,并且支持引用,該函數允許用戶調用直接寫的函數并傳入一定的參數,下面總結下這個函數的使用方法,需要的朋友參考下。

UCenter源代碼里有一個函數call_user_func,開始以為是自己定義的函數,結果到處都找不到。后來才知道call_user_func是PHP的內置函數,該函數允許用戶調用直接寫的函數并傳入一定的參數,下面總結下這個函數的使用方法。

call_user_func函數類似于一種特別的調用函數的方法,使用方法如下:

  1. <?php 
  2. function nowamagic($a,$b)  
  3. {  
  4.  echo $a;  
  5.  echo $b;  
  6. }  
  7. call_user_func('nowamagic'"","");  
  8. call_user_func('nowamagic'"","");  
  9. //顯示   
  10. ?> 

調用類內部的方法比較奇怪,居然用的是array,不知道開發者是如何考慮的,當然省去了new,也挺有新意的:

  1. <?php 
  2. class a {  
  3.  function b($c)  
  4.  {  
  5.   echo $c;  
  6.  }  
  7. }  
  8. call_user_func(array("a""b"),"");  
  9. //顯示  
  10. ?> 

call_user_func_array函數和call_user_func很相似,只不過是換了一種方式傳遞了參數,讓參數的結構更清晰:

  1. <?php 
  2. function a($b$c)  
  3. {  
  4.  echo $b;  
  5.  echo $c;  
  6. }  
  7. call_user_func_array('a'array(""""));  
  8. //顯示  
  9. ?> 

call_user_func_array函數也可以調用類內部的方法的:

  1. <?php 
  2. Class ClassA  
  3. {  
  4. function bc($b$c) {  
  5.   $bc = $b + $c;  
  6. echo $bc;  
  7. }  
  8. }  
  9. call_user_func_array(array('ClassA','bc'), array(""""));  
  10. //顯示  
  11. ?> 

call_user_func函數和call_user_func_array函數都支持引用,這讓他們和普通的函數調用更趨于功能一致:

  1. <?php 
  2. function a($b)  
  3. {  
  4.  $b++;  
  5. }  
  6. $c = ;  
  7. call_user_func('a'$c);  
  8. echo $c;//顯示  
  9. call_user_func_array('a'array($c));  
  10. echo $c;//顯示  
  11. ?> 

另外,call_user_func函數和call_user_func_array函數都支持引用。

view sourceprint?

  1. <?php 
  2. function increment(&$var
  3.  $var++; 
  4. $a = ; 
  5. call_user_func('increment'$a); 
  6. echo $a//  
  7. call_user_func_array('increment'array(&$a)); // You can use this instead 
  8. echo $a//  
  9. ?> 

下面給大家介紹使用call_user_func調用自定義函數

使用call_user_func函數,通過傳入字符串函數,可以調用自定義函數,并且支持引用。

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

調用第一個參數提供的自定義函數,后面的參數為自定義函數的參數,返回自定義函數的結果

  1. function say($word
  2.  echo $word
  3. call_user_func('say''hello world'); //hello world 

當然也可以調用類中的方法:

  1. class A { 
  2.  function say($word = ''
  3.  { 
  4.   echo $word
  5.  } 
  6. }  
  7. $a = new A(); //注意,必須是要實例化的,除非是static 
  8. call_user_func(array($a'say'), 'hello world'); //hello world 

2.mixed call_user_func_array ( callable $callback , array $param_arr )

話說call_user_func_array和call_user_func函數功能一樣,只是調用參數時有點區別:

  1. function a($word
  2.  echo $word
  3. class A { 
  4.  function say($word = ''
  5.  { 
  6.   echo $word
  7.  } 
  8. call_user_func_array('a'array('hello world')); //hello world 
  9. $a = new A(); //注意,必須是要實例化的,除非是static 
  10. call_user_func_array(array($a'say'), array('hello world')); //hello world 

注明:另外類似的兩個函數是call_user_method 和call_user_method_array() 不過在PHP4.1后就停用廢棄了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲理论片在线观看| 97在线免费观看视频| 国产精品久久久久久久久久免费| 美女精品久久久| 777国产偷窥盗摄精品视频| 久久久久久网站| 亚洲品质视频自拍网| 日韩欧美在线观看| 一区二区欧美在线| 国产精品爽爽ⅴa在线观看| 国产精品高清在线观看| 亚洲成人久久久| 亚洲精品日韩av| 成人免费看片视频| 久久久久久久久久久免费精品| 国产欧美日韩专区发布| 日韩成人中文字幕在线观看| 日韩性生活视频| 欧美国产日韩二区| 国产第一区电影| 高清亚洲成在人网站天堂| 国产精品欧美在线| 日韩精品中文字幕在线| 久久天堂av综合合色| 国产精品 欧美在线| 国产精品69久久久久| 国产精品扒开腿做爽爽爽视频| 在线观看国产欧美| 久久久久久美女| 在线a欧美视频| 国产97在线视频| 亚洲aⅴ男人的天堂在线观看| 欧美视频第一页| 隔壁老王国产在线精品| www.久久撸.com| 欧美一区二区大胆人体摄影专业网站| 亚洲人高潮女人毛茸茸| 亚洲视频专区在线| 亚洲毛片在线看| 91精品国产高清久久久久久久久| 久久精品视频在线观看| 日韩在线www| 国产成人综合久久| 最新亚洲国产精品| 欧美日韩在线视频观看| 亚洲天堂开心观看| 久久久久亚洲精品成人网小说| 色综合视频一区中文字幕| 国产亚洲欧洲高清| 亚洲最大福利视频网| 欧美精品在线极品| 91精品久久久久久久久不口人| 97色在线观看免费视频| 在线日韩日本国产亚洲| 欧美精品国产精品日韩精品| 国产成人+综合亚洲+天堂| 欧美日韩免费在线观看| 亚洲欧美中文日韩v在线观看| 亚洲精品国产精品国自产在线| 在线播放国产一区二区三区| 国产91精品久久久久久久| 奇米成人av国产一区二区三区| 成人国产精品免费视频| 国产日韩欧美综合| 亚洲系列中文字幕| 亚洲图片欧洲图片av| 欧美色道久久88综合亚洲精品| 欧美一级高清免费播放| 亚洲成人动漫在线播放| 欧美精品制服第一页| 91美女福利视频高清| 日韩女在线观看| 欧美激情奇米色| 欧美视频在线观看免费网址| 91精品免费久久久久久久久| 欧美在线xxx| 日韩欧美一区二区在线| 北条麻妃一区二区三区中文字幕| 成人激情在线观看| 欧美激情极品视频| 日韩精品视频在线| 久久精品国产电影| 青青在线视频一区二区三区| 91亚洲精品在线| 亚洲精品wwwww| 日韩免费中文字幕| 日韩美女在线观看| 亚洲视频在线免费看| 国产午夜精品全部视频播放| 国产精品xxxxx| 色视频www在线播放国产成人| 日韩激情av在线播放| 欧美日韩国产一区中文午夜| 日本在线精品视频| 日本一区二三区好的精华液| 日韩在线精品一区| 欧美成人免费全部观看天天性色| 久久久久久久久电影| 欧美影院成年免费版| 午夜精品www| 国内精品一区二区三区| 亚洲欧美日韩中文在线| 伊人久久久久久久久久久久久| 国产精品视频一区二区三区四| 久久综合伊人77777蜜臀| 日韩av电影在线播放| 欧美成人黑人xx视频免费观看| 91av视频在线免费观看| 国产日韩欧美日韩大片| www.欧美免费| 亚洲国产精品久久91精品| 国产精品久久久久久久一区探花| 精品久久久久久久中文字幕| 国产小视频国产精品| 中国人与牲禽动交精品| 高跟丝袜一区二区三区| 久久精品视频一| 成人在线激情视频| 91精品久久久久久久久| 国产精品视频自在线| 亚洲人成亚洲人成在线观看| 国产精品久久电影观看| 性色av一区二区咪爱| 成人在线免费观看视视频| 欧美在线视频网站| 91嫩草在线视频| 成人性生交大片免费观看嘿嘿视频| 精品伊人久久97| 97精品国产97久久久久久春色| 久久资源免费视频| 日韩欧美成人免费视频| 亚洲的天堂在线中文字幕| 国产精品福利无圣光在线一区| 亚洲免费高清视频| 91牛牛免费视频| 国产在线999| 亚洲第一精品久久忘忧草社区| 色中色综合影院手机版在线观看| 日韩亚洲成人av在线| 欧美成人精品一区二区| 欧美日韩加勒比精品一区| 亚洲夜晚福利在线观看| 亚洲人成人99网站| 97精品在线观看| 日韩亚洲一区二区| 欧美精品18videosex性欧美| 国产成人综合久久| 久久伊人精品天天| 亚洲xxxx做受欧美| 亚洲一级片在线看| 久久久久久999| 欧美亚洲免费电影| 日韩欧亚中文在线| 红桃视频成人在线观看| 国产精品视频白浆免费视频| 亚洲欧洲午夜一线一品| 日韩精品免费在线观看| 亚洲伊人久久大香线蕉av| 精品偷拍一区二区三区在线看| 亚洲人成绝费网站色www| www.亚洲一区| 黑人与娇小精品av专区| 91精品久久久久久综合乱菊| 一本大道久久加勒比香蕉|