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

首頁 > 語言 > PHP > 正文

詳解PHP匿名函數與注意事項

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

php5.3不但引進了匿名函數還有更多更好多新的特性了,下面我們一起來了解一下PHP匿名函數與注意事項,具體內容如下

PHP5.2 以前:autoload, PDO 和 MySQLi, 類型約束

PHP5.2:JSON 支持

PHP5.3:棄用的功能,匿名函數,新增魔術方法,命名空間,后期靜態綁定,Heredoc 和 Nowdoc, const, 三元運算符,Phar

PHP5.4:Short Open Tag, 數組簡寫形式,Traits, 內置 Web 服務器,細節修改

PHP5.5:yield, list() 用于 foreach, 細節修改

PHP5.6:常量增強,可變函數參數,命名空間增強

現在基本上都使用PHP5.3以后的版本,但是感覺普遍一個現象就是很多新特性,過了這么長時間,還沒有完全普及,在項目中很少用到。

看看PHP匿名函數:

  1. 'test' => function(){ 
  2.  
  3.   return 'test' 
  4.  
  5. }, 

PHP匿名函數的定義很簡單,就是給一個變量賦值,只不過這個值是個function。

以上是使用Yii框架配置components文件,加了一個test的配置。

什么是PHP匿名函數?

看官方解釋:

匿名函數(Anonymous functions),也叫閉包函數(closures),允許 臨時創建一個沒有指定名稱的函數。最經常用作回調函數(callback)參數的值。當然,也有其它應用的情況。

匿名函數示例:

  1. <?php 
  2.  
  3. echo preg_replace_callback('~-([a-z])~'function ($match) { 
  4.  
  5.  return strtoupper($match[1]); 
  6.  
  7. }, 'hello-world'); 
  8.  
  9. // 輸出 helloWorld 
  10.  
  11. ?> 

閉包函數也可以作為變量的值來使用。PHP 會自動把此種表達式轉換成內置類 Closure 的對象實例。把一個 closure 對象賦值給一個變量的方式與普通變量賦值的語法是一樣的,最后也要加上分號:

匿名函數變量賦值示例:

  1. <?php 
  2.  
  3. $greet = function($name
  4.  
  5. //Vevb.com 
  6.  printf("Hello %s/r/n"$name); 
  7.  
  8. }; 
  9.  
  10. $greet('World'); 
  11.  
  12. $greet('PHP'); 
  13.  
  14. ?> 

閉包可以從父作用域中繼承變量。 任何此類變量都應該用 use 語言結構傳遞進去。

從父作用域繼承變量

  1. <?php 
  2.  
  3. $message = 'hello' 
  4.  
  5. // 沒有 "use" 
  6.  
  7. $example = function () { 
  8.  
  9.  var_dump($message); 
  10.  
  11. }; 
  12.  
  13. echo $example(); 
  14.  
  15. // 繼承 $message 
  16.  
  17. $example = function () use($message) { 
  18.  
  19.  var_dump($message); 
  20.  
  21. }; 
  22.  
  23. echo $example(); 
  24.  
  25. // Inherited variable's value is from when the function 
  26.  
  27. // is defined, not when called 
  28.  
  29. $message = 'world'echo $example(); 
  30.  
  31. // Reset message 
  32.  
  33. $message = 'hello' 
  34.  
  35. // Inherit by-reference 
  36.  
  37. $example = function () use(&$message) { 
  38.  
  39.  var_dump($message); 
  40.  
  41. }; 
  42.  
  43. echo $example(); 
  44.  
  45. // The changed value in the parent scope 
  46.  
  47. // is reflected inside the function call 
  48.  
  49. $message = 'world'echo $example(); 
  50.  
  51. // Closures can also accept regular arguments 
  52.  
  53. $example = function ($arguse($message) { 
  54.  
  55.  var_dump($arg . ' ' . $message); 
  56. //Vevb.com 
  57. }; 
  58.  
  59. $example("hello"); 
  60.  
  61. ?> 

php中的匿名函數的注意事項

在php5.3以后,php加入匿名函數的使用,今天在使用匿名的時候出現錯誤,不能想php函數那樣聲明和使用,詳細看代碼:

  1. $callback=function(){  
  2.  
  3.  return "aa";  
  4.  
  5. };  
  6.  
  7. echo $callback();  

打印出來是aa;

看下面的例子:

  1. echo $callback();  
  2.  
  3. $callback=function(){  
  4.  
  5.  return "aa";  
  6.  
  7. }; 

這時報錯了!$callback為未聲明,但是使用php自己聲明的函數都不會報錯的!

  1. function callback(){  
  2.  
  3.  return "aa";  
  4.  
  5. }  
  6.  
  7. echo callback(); //aa  
  8.  
  9. //Vevb.com 
  10. echo callback(); //aa  
  11.  
  12. function callback(){  
  13.  
  14.  return "aa";  
  15.  
  16. }  

這兩個都打印出來aa;

在使用匿名函數的時候,匿名函數當做變量,須提前聲明,js中也是這樣的!?。。?!

以上就是為大家介紹的PHP匿名函數與注意事項,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩美女写真福利在线观看| 91成人免费观看网站| 欧美夫妻性视频| 中文字幕日韩av电影| 久久久久久久久网站| 久久av.com| 欧美成人在线影院| 国产一区欧美二区三区| 91av视频在线免费观看| 日韩中文在线视频| 亚洲国产精品久久久久秋霞蜜臀| 国产精品青草久久久久福利99| 亚洲欧美日韩精品| 尤物tv国产一区| 亚洲精品国精品久久99热| 国产视频999| 国产成人精品视| 黑人精品xxx一区| 精品久久久久人成| 欧美激情在线视频二区| 欧美激情a∨在线视频播放| 伊人久久久久久久久久久| 国产亚洲美女精品久久久| 欧美性猛交xxxx免费看漫画| 国产精品久久久久久久久粉嫩av| 欧美成人性色生活仑片| 国模吧一区二区三区| 亚洲成在人线av| 亚洲自拍偷拍视频| 国产精品永久免费视频| 欧美又大又硬又粗bbbbb| 亚洲精品久久久久久久久久久| 亚洲乱码av中文一区二区| 在线观看日韩视频| 亚洲人成五月天| 欧美性高跟鞋xxxxhd| 97人人模人人爽人人喊中文字| 日韩在线欧美在线| 欧美成人一区在线| 日韩欧美a级成人黄色| 红桃视频成人在线观看| 日韩av影视综合网| 国产精品吊钟奶在线| 在线一区二区日韩| 韩国日本不卡在线| 精品视频在线观看日韩| 亚洲日韩欧美视频| 亚洲国产精品嫩草影院久久| 亚洲精品aⅴ中文字幕乱码| 国产精品三级美女白浆呻吟| 北条麻妃在线一区二区| 国产一区二区精品丝袜| 国产亚洲视频中文字幕视频| 亚洲欧美国产一本综合首页| 亚洲性视频网址| 欧美另类69精品久久久久9999| 精品国产欧美一区二区三区成人| 亚洲欧洲第一视频| 丝袜一区二区三区| 深夜福利国产精品| 欧美超级免费视 在线| 日韩中文字幕在线免费观看| 日韩av在线免费| 亚洲男人第一网站| 中文欧美日本在线资源| 欧美第一页在线| 日本精品性网站在线观看| 欧美成人精品影院| 精品亚洲va在线va天堂资源站| 蜜臀久久99精品久久久久久宅男| 日本一欧美一欧美一亚洲视频| 欧美亚洲国产成人精品| 日韩精品在线影院| 红桃视频成人在线观看| 国产热re99久久6国产精品| 久久久久中文字幕| 欧美黑人巨大xxx极品| 日韩精品视频在线播放| 亚洲国产精品专区久久| 欧美激情精品久久久| 久久久久久久久久久成人| 久久久综合免费视频| 国产偷亚洲偷欧美偷精品| 亚洲美女视频网站| 久久中文精品视频| 91在线视频一区| 日韩亚洲欧美中文在线| 国产视频精品在线| 亚洲国产成人精品一区二区| 午夜精品蜜臀一区二区三区免费| 国产精品免费观看在线| 精品国产福利在线| 久久精品精品电影网| 亚洲欧美日韩综合| 中文字幕久久亚洲| 色狠狠av一区二区三区香蕉蜜桃| 欧美一级片久久久久久久| 国产精品久久久久久久久粉嫩av| 狠狠色狠狠色综合日日五| 国模精品视频一区二区三区| 欧美中文在线视频| 国产精品网红直播| 日韩欧美在线视频日韩欧美在线视频| 久久精品99久久香蕉国产色戒| 色妞欧美日韩在线| 日韩欧美有码在线| 欧美区在线播放| 国产精品久久久久秋霞鲁丝| 免费99精品国产自在在线| 欧美日韩在线第一页| 中文字幕免费精品一区| 成人疯狂猛交xxx| 国产日韩欧美在线| 日韩少妇与小伙激情| 日韩国产欧美精品在线| 国产精品观看在线亚洲人成网| 欧美日韩午夜视频在线观看| 欧美一级大片视频| 亚洲欧美国产精品va在线观看| 久久久久亚洲精品成人网小说| 欧美乱人伦中文字幕在线| 欧美精品做受xxx性少妇| 欧美大成色www永久网站婷| 国产精品欧美日韩一区二区| 欧美视频在线观看免费| 欧美裸体xxxx极品少妇| 欧美日韩高清区| 精品久久久久久亚洲国产300| 欧美日韩中文字幕在线视频| 亚洲va久久久噜噜噜久久天堂| 久久久久亚洲精品国产| 精品免费在线观看| 欧美电影免费观看| 亚洲tv在线观看| 亚洲性生活视频在线观看| 日日狠狠久久偷偷四色综合免费| 国产亚洲一区二区精品| 亚洲精品mp4| 亚洲xxxx在线| 久久久久久久久久久成人| 亚洲精品国产品国语在线| 亚洲欧美日韩爽爽影院| 黑人巨大精品欧美一区二区一视频| 97在线视频免费播放| 夜夜狂射影院欧美极品| 国产在线不卡精品| 国产精品自产拍在线观| 97久久久免费福利网址| 青青在线视频一区二区三区| 日韩电影免费观看中文字幕| 成人观看高清在线观看免费| 国产精品日日摸夜夜添夜夜av| 亚洲一区二区黄| 成人亲热视频网站| 一色桃子一区二区| 国产成人久久精品| 欧洲成人性视频| 欧美日韩亚洲天堂| 国产亚洲精品美女久久久| 91在线免费看网站| 中文字幕国产亚洲2019| 成人福利视频网| 欧美老少做受xxxx高潮| 国产一区二区三区久久精品|