0

我正在尝试使用这个开源 PHP 类并调用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);
}

正如你所看到的,它接受一个函数作为第一个参数,所以我尝试向它传递一个回调函数,并按照这个 SO answer for the syntax。这是我的代码:

declare(ticks=1) {
            setInterval(function callbackFunction() use $someArrayFromOuterScope {

                    runSomeOtherFunction();
                    //Do something

            }, $someArrayFromOuterScope[0]["time"]);
}

但我收到错误:

解析错误:语法错误,意外的回调函数,期待 '('

所以问题是我在这里做错了什么,我该如何纠正它?

4

1 回答 1

1

尝试这个...

    function setInterval ($func, $milliseconds)
    {
        return Timers::setInterval($func, $milliseconds);
    }
    declare(ticks=1) {
        setInterval(function($someArrayFromOuterScope) {

                runSomeOtherFunction();
                //Do something

        }, $someArrayFromOuterScope[0]["time"]);
    }
于 2018-08-14T19:35:38.293 回答