我可以将其他参数传递到内联 usort 函数中吗?



请考虑以下代码:

$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或与参数同名的变量。

最新更新