当前位置:首页 > php > 正文内容

php闭包的优缺点

phpmianshi4年前 (2017-06-02)php470

闭包函数:临时创建一个没有名称的函数,经常作为回调函数来用。

通俗的说就是:子函数可以使用父函数中的局部变量,这种行为叫做闭包。我的理解是: 闭包就是能够读取其他函数内部变量的函数。

匿名函数赋值

$demo=function($str){
   echo $str;
 }
 $demo('hello,world');

闭包可以从父作用域中继承变量,任何此类型变量都应该用use语言结构传递进去。

$message='hello';
 $example=function() use ($message){
   var_dump($message);
 };
 echo $example();



闭包的优点

能够读取函数内部的变量;

让这些变量一直存在于内存中,不会在调用结束后,被垃圾回收机制回收

闭包的缺点:

正所谓物极必反,由于闭包会使函数中的变量保存在内存中,内存消耗很大,所以不能滥用闭包,解决办法是,退出函数之前,将不使用的局部变量删除。


版权声明:本文由PHP面试资料网发布,如需转载请注明出处。
分享给朋友:

相关文章

PHP7内存优化原理(八)

PHP7内存优化原理(八)

这里面其中的一些主要改变是性能提高的关键,主要有以下内容。1.zval使用栈内存在zend引擎和扩展中,经常要创建php变量,其底层就是一个zval指针,之前的php版本都是通过MAKE_STD_ZV...

php中Memcache::get(): Server...failed with: Failed reading line from stream

背景最近sentry报告PHP的memcache客户端php-memcache经常出 现断连接的问题:PHP Notice:  Memcache::get(): Server ………. (t...

php-fpm进程数优化

php-fpm进程数优化

CGI:是 Web Server 与 Web Application 之间数据交换的一种协议。CGI(Common Gateway Interface)全称是“通用网关接口”,WEB 服务器与PHP应...

PHP内核分析之GDB使用(一)

1.PHP源码下载和安装https://github.com/php/php-src/releases$ ./configure --prefix=/usr/local/php7&...

tp5.0.x 5.1.x 最新getshell漏洞

概况近日thinkphp团队发布了版本更新:https://blog.thinkphp.cn/869075 ,其中修复了一处getshell漏洞。影响范围5.1.x < 5.1.315.0.x&...

通过 PHP OPcache 让你的 Laravel 应用运行速度飞起来

Laravel 优化介绍:https://segmentfault.com/a/11900000115690121.缓存配置信息 php artisan config:cache2.缓存路由信息 ph...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。