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

Susan Sarandon
发布: 2024-11-12 18:37:02
原创
898 人浏览过

How Can I Modify Global Variables Within Anonymous Functions in PHP?

使用闭包扩展匿名函数中的变量作用域

在 PHP 中,匿名函数通常在自己的作用域内运行,无法直接访问外部声明的变量其中。这在尝试修改全局变量时可能会带来挑战。

让我们考虑一个示例:

$variable = "nothing";

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

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

在此脚本中,匿名函数无法修改 $variable,因为它驻留在不同的变量中范围。为了克服这个限制,你可以使用闭包。

使用闭包引用全局变量

闭包,用 use() 表示,允许匿名函数访问来自封闭范围。要修改匿名函数中的全局变量,只需在闭包中包含 & 运算符:

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

在此修改后的示例中,匿名函数使用 & 运算符来引用全局范围内的 $variable 变量。这使得函数能够修改 $variable 的值,然后可以在其范围之外检索和打印该值。

通过利用闭包,您可以有效地扩展匿名函数中变量的范围,从而在以下情况下提供更大的灵活性:使用全球数据。

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

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