PHP use() 作用域函数?

标签 php syntax anonymous-function

我见过这样的代码:

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/

相关文章:

python - eval() 函数中 '=' 上的 SyntaxError : invalid syntax, 子句

javascript - 对于内部包含一项功能的 if 语句,最适合使用哪种语法?

javascript - '+new Date'中的加号有什么作用

javascript - Node.js 从匿名函数访问值

python - 如何防止 lambda 函数局部变量在 python 中更改?

javascript - 如何从字符串中调用匿名函数

php - 如何将 JSON 对象发送到远程服务器并将该数据插入 MySQL 数据库

PHP/MySQL : update ordered rows by ordered select

php - MySQL 查询多个列上的多个 JOIN 两个表

php - 移动应用程序 - 与外部服务器通信