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

CGr*_*fin 1 php

考虑以下代码:

$external_variable = TRUE;
usort($array, function($a, $b) {
    // do sorting stuff based on $external_variable
});
Run Code Online (Sandbox Code Playgroud)

如何在usort函数中访问和使用$ external_variable?

cee*_*yoz 5

使用use关键字:

$external_variable = TRUE;

usort($array, function($a, $b) use($external_variable) {
    // do sorting stuff based on $external_variable
});
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/zh/functions.anonymous.php

闭包也可以从父范围继承变量。任何此类变量都必须传递给use语言构造。从PHP 7.1开始,这些变量不得包含superglobals $this或与参数同名的变量。