美文网首页
php匿名函数和闭包

php匿名函数和闭包

作者: 信仰与初衷 | 来源:发表于2018-10-14 21:43 被阅读0次

    JavaScript中匿名函数和闭包可以说是非常灵活的特性了,它的使用可以帮助快速写出很简洁的代码。其实呢,PHP也有匿名函数和闭包,用法如下:


    1.匿名函数

    # 声明一个函数
    $test_closure1 = function($arg1, $arg2) {
        return $arg1 . 'hello world!';
    }
    
    # 声明一个函数,并将外部变量传入函数
    $global_param = 'martin';
    $test_closure2 = function($arg1, $arg2) use($global_param){
        return $arg1 . 'hello world!' . $global_param;
    }
    
    # 调用
    call_user_func_array($test_closure1, ['您好', '大家好']);
    call_user_func_array($test_closure2, ['您好', '大家好']);
    

    2.闭包

    //例子1:在函数里定义一个匿名函数,并且调用它
    function test1() {
        $func = function( $str ) {
            echo $str;
        };
        $func( 'hello world! );
    }
    
    //例子2:在函数中把匿名函数返回,并且调用它
    function test2() {
        $func = function( $str ) {
            echo $str;
        };
        return $func;
    }
    
    # 调用
    test1();
    $test2_func = test2();
    $test2_func('hello world');
    

    php的匿名函数和闭包还不像JavaScript的匿名函数闭包那么灵活好用,但有时候也是可以帮助你解决一些特殊的场景的,期待它以后会更加好用。

    相关文章

      网友评论

          本文标题:php匿名函数和闭包

          本文链接:https://www.haomeiwen.com/subject/pzitzftx.html