PHP闭包函数的高级(骚气)用法

作者: 怀老师 | 来源:发表于2020-08-10 20:00 被阅读0次
    <?php
    $a = 1;
    $b = 2;
    $c = 3;
    $d = (function ($a,$b)use($c){return $a.$b.$c;})($a,$b);
    $e = (function ($a,$b)use($c){return $a.$b.$c;});
    var_dump($d);
    
    var_dump($e);
    exit;
    

    以上例程会输出:

    string(3) "123"

    object(Closure)#1 (2) {
    ["static"]=>
    array(1) {
    ["c"]=>
    int(3)
    }
    ["parameter"]=>
    array(2) {
    ["a"]=> string(10) "<required>" ["b"]=>
    string(10) "<required>"
    }
    }

    可以看到,一种神奇的用法,将闭包函数的起那面用小括号包着,作为函数名。后面的小括号接收参数。没有花括号的方法体。
    PHP官方文档有介绍,函数的方法体是可以省略的。

    闭包加上...动态参数操作符,就更加灵活了。

    相关文章

      网友评论

        本文标题:PHP闭包函数的高级(骚气)用法

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