自执行函数模拟一个块级作用域

原创 2019-04-23 16:24:28 200
摘要:<?php function demo(){     $fun = function(){         $arr = [1,2,3,4,5];       &n
<?php
function demo(){
    $fun = function(){
        $arr = [1,2,3,4,5];
        for($i=0;$i < count($arr);$i++){
            $temp = $arr[$i];
        }
        echo isset($temp)? '能访问作用域内的循环变量' : '不能访问作用域内的循环变量';
        echo '<br>';
    };
    $fun();
    echo isset($temp)? '能访问作用域内的循环变量' : '不能访问作用域内的循环变量';
}
demo();


批改老师:天蓬老师批改时间:2019-04-24 15:30:55
老师总结:几乎所有的脚本语言, 都是只支持函数作用域, 这与代码的运行形式相关, 因为内部数据都在栈中的... php也是只支持函数作用域, 不像其它语言, 支持块作用域, 所谓块作用域, 就是由一对大括号生成的作用域, 使用闭包可以模拟出一个块作用域...

发布手记

热门词条

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号