是否不可能使用;使用「;PHP中的关键字,在闭包上下文中具有匿名函数?

是否不可能使用;使用「;PHP中的关键字,在闭包上下文中具有匿名函数?,php,closures,anonymous-function,reduce,Php,Closures,Anonymous Function,Reduce,我正在尝试执行以下PHP代码: $path_hierarchy = // function that returns an array return array_reduce( $terms, function($val1, $val2) use ($path_hierarchy) { return $val1 || in_array($val2, $path_hierarchy); } ); …但我得到以下PHP错误: PHP解析错误:语法错误,意外

我正在尝试执行以下PHP代码:

$path_hierarchy = // function that returns an array

return array_reduce(
    $terms,
    function($val1, $val2) use ($path_hierarchy) {
        return $val1 || in_array($val2, $path_hierarchy);
    }
);
…但我得到以下PHP错误:

PHP解析错误:语法错误,意外“'),应为“{”

因此,我切换到以下语法:

$path_hierarchy = // function that returns an array

$callback = function($val1, $val2) use ($path_hierarchy) {
    return $val1 || in_array($val2, $path_hierarchy);
};

return array_reduce(
    $terms,
    $callback
);
…这很有效。我不能在匿名函数的上下文中使用
use
关键字作为另一个函数的参数吗

return$val1 | | in_数组($val2,$path_层次结构))

问题就在这里:第二个右括号

return$val1 | | in_数组($val2,$path_层次结构))


问题就在这里:第二个右括号。

这是传输代码时的一个输入错误…我没有直接进行复制粘贴。要明确的是,输入错误是在堆栈溢出问题上-我的实际代码没有这种输入错误。如果我用分号替换括号,效果会非常好。cf.这个::>php-f“bla.php”>退出代码:0这是传输代码时的一个输入错误…我没有直接进行复制粘贴。要明确的是,输入错误是在堆栈溢出问题上-我的实际代码没有这种输入错误。如果我用分号替换括号,效果会非常好。cf。此::>php-f“bla.php”>退出代码:0是否可以复制并粘贴不起作用的代码?这也有助于准确查看其抱怨的行。是否可以复制并粘贴不起作用的代码?这也有助于准确查看其抱怨的行。