首页 > 后端开发 > php教程 > PHP中匿名函数如何修改全局变量?

PHP中匿名函数如何修改全局变量?

Barbara Streisand
发布: 2024-11-13 15:01:02
原创
254 人浏览过

How Can Anonymous Functions Modify Global Variables in PHP?

在匿名函数中访问全局变量

在 PHP 中,匿名函数通常在自己独立的作用域内运行,限制了它们访问定义的变量的能力别处。在使用全局变量时,这可能会成为一个障碍。

挑战:

考虑提供的示例:

$variable = "nothing";

functionName($someArgument, function() {
  $variable = "something";
});

echo $variable;  //output: "nothing"
登录后复制

在这种情况下,匿名函数无法在其范围之外修改 $variable 的值,导致输出剩余“什么都没有。”

解决方案:闭包

为了克服这个挑战,可以使用闭包。闭包是一个函数,即使在退出作用域后,它仍保留对其封闭作用域的变量的访问权限。

要修改匿名函数中的全局作用域变量,请使用以下语法:

functionName($someArgument, function() use(&$variable) {
  $variable = "something";
});
登录后复制

通过在匿名函数中使用“use(&$variable)”,将对全局$变量的引用传递到函数中。 “&”表示我们正在传递对变量的引用,允许我们在函数内修改它的值。

现在,当匿名函数执行时,它可以成功更改 $variable 的值,并且修改后的值将保留在函数范围之外。

以上是PHP中匿名函数如何修改全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板