PHP 中的闭包:了解“使用”标识符
PHP 闭包,在版本 5.3 中引入,允许创建封装函数,这些函数可以访问外部作用域的变量。但是,它们使用“use”标识符,这可能会让第一次遇到它的人感到困惑。
定义闭包
闭包是使用匿名函数语法:
$callback = function ($quantity, $product) use ($tax, &$total) { ... };
“使用”标识符
“use”标识符允许闭包访问外部作用域中定义的变量。 “use”后面列出的变量将被导入到闭包的命名空间中。
它是如何工作的
创建闭包时,导入的变量的值会被复制到闭包的命名空间。这意味着在闭包内对导入变量所做的任何更改都不会影响外部作用域变量。
但是,如果导入变量是引用(前面带有“&”),则在闭包内进行的修改将反映在外部范围内。在上面的例子中,“&$total”是一个引用,允许闭包修改外部作用域中的$total变量。
闭包的好处
何时使用闭包
闭包适用于具体情况其中:
注意: 应尽可能明智地使用闭包引入复杂性和性能问题。
以上是PHP 闭包如何使用'use”标识符访问外部作用域变量?的详细内容。更多信息请关注PHP中文网其他相关文章!