閉包函數簡單用法

匿名函數(閉包函數) 允許臨時創建一個 沒有指定名稱的函數 最經常用作回調函數(callback) 參數的值

閉包函數可以作爲變量的值來使用

$example = function () {
        echo 'Hello <br>' ;
    } ;
    $example() ;

    //閉包函數使用 父作用域變量  use() 使用use()接收變量需要在閉包定義之前定義 或者use(&$message) 
    $message = 'beijing' ;
    $example2 = function () use($message){
        echo 'welcome to ' . $message . '<br>';
    };
    $message = 'shanghai' ;
    $example2() ;

    $example3 = function (){
        global $message ;
        echo 'welcome to ' . $message . '<br>';
    } ;
    $message = 'shanghai' ;
    $example3() ;


    //常規參數 + 父域參數(&$local 不引用地址的話   $local變量需要在閉包定義之前定義)
    $example4 = function ($str) use(&$local){
        echo $str . $local . '<br>' ;
    } ;
    $local = 'beijing' ;
    $example4('welcome to ') ;


    //閉包函數作爲函數參數使用
    function test_close($name, $r) {
        echo "hello {$name} <br>" ;
        $r() ;
    }
    test_close('zhangsan',function () {
        echo 'Redirect to login page' ;  
    }) ;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章