我见过这样的代码:
function($cfg) use ($connections) {}
但是php.net好像没有提到这个功能。我猜这与范围有关,但如何呢?
最佳答案
use
不是函数,它是 Closure syntax 的一部分.它只是使外部作用域的指定变量在闭包内可用。
$foo = 42;
$bar = function () {
// can't access $foo in here
echo $foo; // undefined variable
};
$baz = function () use ($foo) {
// $foo is made available in here by use()
echo $foo; // 42
}
例如:
$array = array('foo', 'bar', 'baz');
$prefix = uniqid();
$array = array_map(function ($elem) use ($prefix) {
return $prefix . $elem;
}, $array);
// $array = array('4b3403665fea6foo', '4b3403665fea6bar', '4b3403665fea6baz');
关于PHP use() 作用域函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885513/