PHP筆記之閉包

匿名函數(shù)
在PHP5.3.0以上版本有效
也稱閉包函數(shù),可以有參數(shù)梅割,有返回值乃坤,結(jié)尾處必須加分號

$func = function(){

};
$func();

匿名函數(shù)的一個用法陶贼,類似于閉包悦荒。

    function demos($fun){
            echo $fun();
    }
    demos(function(){
        return "@22222".'<br>';
    });

閉包
閉包的實現(xiàn)主要是靠匿名函數(shù)
將匿名函數(shù)在普通函數(shù)中當做參數(shù)傳入春贸,也可以被返回混萝。這就是一個簡單地閉包。
特點:
1.閉包外層是個函數(shù)
2.閉包內(nèi)部都有函數(shù)
3.閉包會return內(nèi)部函數(shù)
4.閉包返回的函數(shù)內(nèi)部不能有return
5.執(zhí)行閉包后萍恕,閉包內(nèi)部變量會存在逸嘀,閉包內(nèi)部函數(shù)的內(nèi)部變量不會存在
6.閉包函數(shù)返回時,函數(shù)內(nèi)部變量處于激活狀態(tài)允粤,函數(shù)所在棧區(qū)依然保留

function demo(){
        $a = 10;
        $b = 20;
        //關(guān)鍵詞use 使匿名函數(shù)能調(diào)用函數(shù)內(nèi)部的參數(shù)崭倘,&的引用,使變量的值發(fā)生改變
        $one = function($str) use(&$a,&$b){
            echo $str."<br>";
            echo $b."<br>";
            $a++;
            echo $a."<br>";
            //內(nèi)存函數(shù)不能加返回值类垫,不然直接終止
        };
        return $one;
    }
    $var = demo();
    $var = ("what");
    $var = ("123");//通過兩次調(diào)用司光,發(fā)現(xiàn)每次a的值均有變化

閉包的應(yīng)用場景
1.保護函數(shù)內(nèi)的變量安全。外層函數(shù)中變量只有內(nèi)部函數(shù)才能訪問悉患,而無法通過其他途徑訪問到残家,因此保護了外層變量的安全性。
2.在內(nèi)存中維持一個變量售躁,外層函數(shù)中的變量一直存在于內(nèi)存中坞淮,因此每次執(zhí)行都會用到茴晋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市回窘,隨后出現(xiàn)的幾起案子诺擅,更是在濱河造成了極大的恐慌,老刑警劉巖毫玖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異凌盯,居然都是意外死亡付枫,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門驰怎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阐滩,“玉大人,你說我怎么就攤上這事县忌〉嗬疲” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵症杏,是天一觀的道長装获。 經(jīng)常有香客問我,道長厉颤,這世上最難降的妖魔是什么穴豫? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮逼友,結(jié)果婚禮上精肃,老公的妹妹穿的比我還像新娘。我一直安慰自己帜乞,他們只是感情好司抱,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著黎烈,像睡著了一般习柠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上照棋,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天津畸,我揣著相機與錄音,去河邊找鬼必怜。 笑死肉拓,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的梳庆。 我是一名探鬼主播暖途,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼卑惜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了驻售?” 一聲冷哼從身側(cè)響起露久,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎欺栗,沒想到半個月后毫痕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡迟几,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年消请,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片类腮。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡臊泰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蚜枢,到底是詐尸還是另有隱情缸逃,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布厂抽,位于F島的核電站需频,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏筷凤。R本人自食惡果不足惜贺辰,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嵌施。 院中可真熱鬧饲化,春花似錦、人聲如沸吗伤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽足淆。三九已至巢块,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間巧号,已是汗流浹背族奢。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留丹鸿,地道東北人越走。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親廊敌。 傳聞我的和親對象是個殘疾皇子铜跑,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 閉包是自包含的函數(shù)代碼塊,可以在代碼中被傳遞和使用骡澈。Swift 中的閉包與 C 和 Objective-C 中的代...
    雨影閱讀 717評論 0 2
  • 閉包: 官方”的解釋是:閉包是一個擁有許多變量和綁定了這些變量的環(huán)境的表達式(通常是一個函數(shù))锅纺,因而這些變量也是該...
    小裁縫sun閱讀 619評論 0 5
  • 本章將會介紹 閉包表達式尾隨閉包值捕獲閉包是引用類型逃逸閉包自動閉包枚舉語法使用Switch語句匹配枚舉值關(guān)聯(lián)值原...
    寒橋閱讀 1,563評論 0 3
  • 不知不覺間囤锉,二十一天成長訓練營計劃已經(jīng)過了一多半了。雖然我仍然不能提筆則文思泉涌护锤,但總歸是較之之前有了一點點進步了...
    季儒閱讀 272評論 0 0
  • 千尋佳人處官地,萬里不得寐。 無人進我心蔽豺,只為一人醉区丑。
    我愛吃任何魚閱讀 214評論 0 2