首页 >后端开发 >php教程 >如何在 PHP 中访问匿名函数参数中的外部变量?

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

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-14 21:32:021036浏览

How to Access External Variables Within Anonymous Function Parameters in PHP?

将外部变量合并到匿名函数参数中

在编程中,经常需要访问在函数作用域之外定义的变量。当使用匿名函数作为参数时,此任务可能具有挑战性。

让我们考虑以下场景:函数 fetch() 用于处理数据库行并将它们作为参数传递给匿名函数。每行都可以使用 $r['title'] 访问,但需要将这些标题连接到一个变量中。

虽然可以使用全局修饰符,但这不是一个优雅的解决方案。更合适的方法是使用 use 关键字,如以下代码所示:

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

use 关键字通过引用捕获外部变量 result (&$result) 并使其在匿名函数中可用.

但是请注意,use() 参数表现出早期绑定。这意味着它们在 lambda 函数声明时使用变量的值,而不是在调用时(后期绑定)。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn