• 技术文章 >后端开发 >php教程

    PHP闭包实战案例使用分析

    php中世界最好的语言php中世界最好的语言2018-05-16 15:58:17原创898
    这次给大家带来PHP闭包实战案例使用分析,PHP闭包实战种使用的注意事项有哪些,下面就是实战案例,一起来看一下。

    <?php
    function getClosure($i)
    {
      $i = $i.'-'.date('H:i:s');
      return function ($param) use ($i) {
        echo "--- param: $param ---\n";
        echo "--- i: $i ---\n";
      };
    }
    $c = getClosure(123);
    $i = 456;
    $c('test');
    sleep(3);
    $c2 = getClosure(123);
    $c2('test');
    $c('test');
    /*
    output:
    --- param: test ---
    --- i: 123-21:36:52 ---
    --- param: test ---
    --- i: 123-21:36:55 ---
    --- param: test ---
    --- i: 123-21:36:52 ---
    */

    再来一个实例

    $message = 'hello';
    $example = function() use ($message){
     var_dump($message);
    };
    echo $example();
    //输出hello
    $message = 'world';
    //输出hello 因为继承变量的值的时候是函数定义的时候而不是 函数被调用的时候
    echo $example();
    //重置为hello
    $message = 'hello';
    //此处传引用
    $example = function() use(&$message){
     var_dump($message);
    };
    echo $example();
    //输出hello
    $message = 'world';
    echo $example();
    //此处输出world
    //闭包函数也用于正常的传值
    $message = 'hello';
    $example = function ($data) use ($message){
     return "{$data},{$message}";
    };
    echo $example('world');
    //此处输出world,hello

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    php无限级评论嵌套实现步骤详解

    PHP实现二叉树深度与广度优先遍历算法步骤详解

    以上就是PHP闭包实战案例使用分析的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 分析 使用
    上一篇:php微信公众号随机发放现金红包功能 下一篇:PHP利用正则表达式匹配省市区
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• php7.2怎么连接oracle数据库?OCI8扩展的安装• PHP 获得文件夹大小 计算文件_PHP教程• PHP服务器变量设置的方法介绍_PHP教程• 关于PHP数组转字符串详细介绍_PHP教程• 深入剖析PHP变量的具体使用方法_PHP教程
    1/1

    PHP中文网