【发布时间】:2011-10-04 11:56:39
【问题描述】:
- PHP 5.3 中是否可以使用闭包?
- 我正在寻找一个简单的闭包示例,欢迎使用最少的代码。
- 如果 PHP 5.3 中可以使用闭包,那么它在作用域方面的行为是否类似于 Javascript 的闭包?
- Javascript 闭包和 PHP 闭包(如果存在)有什么区别?
【问题讨论】:
-
我认为您应该阅读文档,因为它真的很有帮助。 php.net/manual/en/functions.anonymous.php你已经阅读了吗?
-
@FinalForm:闭包是带有外部函数的匿名函数,匿名函数是闭包,分别带有
0外部引用。我不知道,如果“作家是一个智障”,但这种说法并不完全错误(即使它并不完全正确)。 -
@FinalForm:这并不意味着您无法阅读该页面的其余部分。您会在几秒钟内意识到这就是您要寻找的“示例 3:闭包和范围界定”
-
@KingCrunch 闭包是外部函数内部嵌套函数的组合,涉及在外部函数返回后持续存在的内存堆栈,环境与在其自身环境中起作用的函数的绑定。匿名函数是在缺少名称的程序流中立即执行的函数,因此它是匿名的。所以闭包和匿名函数不是一回事。匿名函数“可以”是闭包,但不是闭包。
-
@FinalForm: 哇,我不知道,从哪里开始...... 例如:匿名通常不会立即执行,因为在这种情况下没有人需要(匿名)函数,但是一个可以直接把代码放到位。匿名函数只是通常由没有标识符的变量引用的函数。闭包的唯一区别是您自己提到的“环境的绑定”,但现在它只是一个观点,如果一个非函数是一个没有任何绑定的闭包,我们不是。但是,如果您知道什么是闭包,为什么要问这个问题?
标签: php javascript closures