如何在 PHP 中的匿名函数中访问和修改外部变量?

DDD
发布: 2024-11-14 17:56:02
原创
802 人浏览过

How can I access and modify external variables within an anonymous function in PHP?

使用匿名函数作为参数访问外部变量

该场景涉及一个方便处理数据库行的便捷函数。但是,当您需要将结果集中的所有标题连接到单个变量时,就会出现一个特定的要求。这就提出了一个问题:如何在不依赖使用 global 关键字这一不太优雅的方法的情况下实现这一目标。

一个解决方案在于使用闭包变量。具体来说,use 关键字允许闭包从父作用域继承变量。这与全局变量不同,全局变量在所有函数中都存在。

要实现此解决方案,可以按如下方式修改代码:

$result = '';
fetch("SELECT title FROM tbl", function($r) use (&$result) {
   $result .= $r['title'];
});
登录后复制

通过添加 use (&$result) 到通过匿名函数,我们可以在函数内部引用和修改结果变量。 use 关键字有效地将结果变量的引用传递给闭包。

需要注意的是,这种方法涉及早期绑定,这意味着闭包在函数声明时使用变量的值,不在函数调用点(后期绑定)。为此目的使用闭包时要记住这一点。

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

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