PHP向返回的闭包函数实例中,传递外部变量参数

直接上代码吧:# 向返回的闭包函数实例中,传递外部变量参数# 直接调用将不会输出$txt的内容 function demo(){ $txt

直接上代码吧:

#  向返回的闭包函数实例中,传递外部变量参数
# 直接调用将不会输出$txt的内容
    function demo(){
        $txt = '我爱PHP';

        # 1、function()内的变量,为父类实例外部可传递的变量
        # 2、use()内的变量,为实例父类实例内部可传递的变量
        $func = function($str='') use($txt){
            echo $txt;
            echo '<br/>';
            echo $str;
        };
        # 这里不再直接调用,而且是把实例返回
        return $func;
    }

# 测试一下
$res = demo();          // 函数返回实例
$obj = $res('我爱Delphi');  // 再通过res()调用,没有这一步,将不会输出$txt

发表评论

登录 后才能评论