php的閉包(Closure)也就是匿名函數。是PHP5.3引入的。php
閉包的語法很簡單,須要注意的關鍵字就只有use,use意思是鏈接閉包和外界變量。html
1web 2面試 3websocket |
|
閉包的幾個做用:this
1 減小foreach的循環的代碼spa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
這裏若是咱們改造getTotal函數必然要使用到foreach
2 減小函數的參數
1 2 3 4 5 6 7 8 9 |
|
若是是使用平時的方法,咱們會把inner放到html函數參數中,這樣無論是代碼閱讀仍是使用都不如使用閉包
3 解除遞歸函數
1 2 3 4 5 6 7 8 9 10 |
|
注意上題中的use使用了&,這裏不使用&會出現錯誤n-1)是找不到function的(前面沒有定義fib的類型)
因此想使用閉包解除循環函數的時候就須要使用
1 2 3 4 5 |
|
這樣的形式
4 關於延遲綁定
若是你須要延遲綁定use裏面的變量,你就須要使用引用,不然在定義的時候就會作一份拷貝放到use中
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
使用引用和不使用引用就表明了是調用時賦值,仍是申明時候賦值
上面是我整理給你們的PHP閉包 function() use()中的詳細使用方法,但願從此會對你們有幫助。
相關文章:
以上就是PHP閉包 function() use()中的詳細使用方法的詳細內容,更多請關注php中文網其它相關文章!