尝试将带有参数的回调函数作为函数参数传递 - 出现 "Unexpected callbackFunctionName, expecting '(' " 错误
Trying to pass callback function with parameters as a function argument - getting "Unexpected callbackFunctionName, expecting '(' " error
我正在尝试使用 this open source PHP class 并调用 setInterval() 函数。来自链接的 github 页面:
/**
* Just for simplifying the Timers::setInterval method
*
*
* @param callable | string $func
* @param float $milliseconds
*
* @return integer
*/
function setInterval ($func, $milliseconds)
{
return Timers::setInterval($func, $milliseconds);
}
如你所见,它接受一个函数作为第一个参数,所以我尝试向它传递一个回调函数,并且。这是我的代码:
declare(ticks=1) {
setInterval(function callbackFunction() use $someArrayFromOuterScope {
runSomeOtherFunction();
//Do something
}, $someArrayFromOuterScope[0]["time"]);
}
但我收到错误消息:
Parse error: syntax error, unexpected callbackFunction, expecting '('
所以问题是我在这里做错了什么,我该如何纠正?
试试这个...
function setInterval ($func, $milliseconds)
{
return Timers::setInterval($func, $milliseconds);
}
declare(ticks=1) {
setInterval(function($someArrayFromOuterScope) {
runSomeOtherFunction();
//Do something
}, $someArrayFromOuterScope[0]["time"]);
}
我正在尝试使用 this open source PHP class 并调用 setInterval() 函数。来自链接的 github 页面:
/**
* Just for simplifying the Timers::setInterval method
*
*
* @param callable | string $func
* @param float $milliseconds
*
* @return integer
*/
function setInterval ($func, $milliseconds)
{
return Timers::setInterval($func, $milliseconds);
}
如你所见,它接受一个函数作为第一个参数,所以我尝试向它传递一个回调函数,并且
declare(ticks=1) {
setInterval(function callbackFunction() use $someArrayFromOuterScope {
runSomeOtherFunction();
//Do something
}, $someArrayFromOuterScope[0]["time"]);
}
但我收到错误消息:
Parse error: syntax error, unexpected callbackFunction, expecting '('
所以问题是我在这里做错了什么,我该如何纠正?
试试这个...
function setInterval ($func, $milliseconds)
{
return Timers::setInterval($func, $milliseconds);
}
declare(ticks=1) {
setInterval(function($someArrayFromOuterScope) {
runSomeOtherFunction();
//Do something
}, $someArrayFromOuterScope[0]["time"]);
}