为什么函数使用use会报错?

phpstorm报错:
图片描述

代码:

$container = [];
function app($class_name) use ($container)
{
    return $container -> get($class_name);
}

报错:

Parse error: syntax error, unexpected 'use' (T_USE), expecting '{' in C:\Users\shellus\www\php-redis-note\public\index.php on line 16
阅读 6.1k
5 个回答

知道了,要这样才行:

$container = [];
function app($class_name)
{
    global $container;
    return $container -> get($class_name);
}

use关键词只有闭包才能用 :)

$container = [];
$app = function($class_name) use ($container)
{
    return $container -> get($class_name);
}
echo $app();

use得这样用:

$container = [];
$app = function($class_name) use ($container)
{
    return $container -> get($class_name);
};

只能用在闭包

匿名函数关键字

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题