请考虑以下代码:
$external_variable = TRUE;
usort($array, function($a, $b) {
// do sorting stuff based on $external_variable
});
如何在 usort 函数中访问和使用 $external_variable?
使用use
关键字:
$external_variable = TRUE;
usort($array, function($a, $b) use($external_variable) {
// do sorting stuff based on $external_variable
});
http://php.net/manual/en/functions.anonymous.php
闭包也可以从父作用域继承变量。任何此类变量都必须传递给
use
语言构造。从 PHP 7.1 开始,这些变量不得包含超全局变量、$this
或与参数同名的变量。