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

php闭包的优缺点

phpmianshi3年前 (2017-06-02)PHP137

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

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

匿名函数赋值

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

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

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



闭包的优点

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

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

闭包的缺点:

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


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

相关文章

PHP中const和static的区别和联系

1.const是类中的常量,类外用define定义常量2.const只可以修饰类的属性,不能修饰类的方法,static可以修饰属性,也可以修饰方法3.const和static都属于类本身,而不属于ne...

结构体对齐

书里给了一段代码,假如有个结构体如下:struct test {    char a;    int b;    long c; ...

记一次tp3.2.3因fetch导致的漏洞处理过程

记一次tp3.2.3因fetch导致的漏洞处理过程

问题描述:最近发现百度收录大幅度下降,并出现大量5xx错误,有些收录页面直接跳转到其他网站,如下图:问题追查1.根据以往经验首先怀疑网站被植入或者挂马      &nbs...

laravel中嵌套事务是如何实现的

关于mysql的事务嵌套关于mysql 的事务嵌套可以查看这个地址:https://dev.mysql.com/doc/refman/5.5/en/implicit-commit.html里面有这么一...

PHP内核分析之常见变量基本结构(六)

一、类型一览zval中的u1.v.type用来存储变量的类型,而zval.value存储的是不同类型对应的值,所以type决定value取值的地方,以下是PHP7所定义的所有类型。#define&nb...

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

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

发表评论

访客

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