PHP闭包函数也是匿名函数的简介和例子以及与JS的对比

PHP自5.3版本开始就可以支持匿名函数(Anonymous functions)了,也成为闭包函数(closures),闭包函数允许临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。闭包函数都是是通过 Closure 类来实现的。

举一个闭包函数的栗子

闭包函数也可以赋值给变量来使用,PHP 会自动把此种表达式转换成内置类 Closure 的对象。把一个 closure 对象赋值给一个变量的方式与普通变量赋值的语法一样,最后要加上分号结束这段语句,举一个闭包函数变量赋值的栗子

除此之外闭包函数还可以从父作用域继承变量,任何这类变量都应该用 use 语言结构传递进去。 PHP 7.1 起,不能传入superglobals、 $this 或者和参数重名的变量。经常写js的同学应该知道js的闭包特性,简单的说就是在一个函数里可以定义子函数,父函数中的变量在子函数中可以直接使用,PHP的闭包有一点区别

function func1($a){ return function() use ($a){ echo $a; }; } $a = func1("a"); $a();//输出a

下面是javascript闭包以及它的作用和应用场景

PHP闭包函数(匿名函数)的简介和例子以及与JS的对比

https://www.qwzyj.com/thread-161-1-1.html (出处: 全网资源菌)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180207A0MGE200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券