這篇文章主要介紹了PHP閉包function() use()中的使用方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司10多年企業(yè)網(wǎng)站制作服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站制作及推廣,對(duì)玻璃貼膜等多個(gè)方面擁有多年的網(wǎng)站維護(hù)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
php的閉包(Closure)也就是匿名函數(shù)。是PHP5.3引入的。
閉包的語法很簡單,需要注意的關(guān)鍵字就只有use,use意思是連接閉包和外界變量。
1 2 3 |
|
閉包的幾個(gè)作用:
1 減少foreach的循環(huán)的代碼
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函數(shù)必然要使用到foreach
2 減少函數(shù)的參數(shù)
1 2 3 4 5 6 7 8 9 |
|
如果是使用平時(shí)的方法,我們會(huì)把inner放到html函數(shù)參數(shù)中,這樣不管是代碼閱讀還是使用都不如使用閉包
3 解除遞歸函數(shù)
1 2 3 4 5 6 7 8 9 10 |
|
注意上題中的use使用了&,這里不使用&會(huì)出現(xiàn)錯(cuò)誤n-1)是找不到function的(前面沒有定義fib的類型)
所以想使用閉包解除循環(huán)函數(shù)的時(shí)候就需要使用
1 2 3 4 5 |
|
這樣的形式
4 關(guān)于延遲綁定
如果你需要延遲綁定use里面的變量,你就需要使用引用,否則在定義的時(shí)候就會(huì)做一份拷貝放到use中
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
使用引用和不使用引用就代表了是調(diào)用時(shí)賦值,還是申明時(shí)候賦值
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享PHP閉包function() use()中的使用方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!