PHP静态匿名调用不起​​作用

PHP 5.6,Apache 2.4 | Windows 7,OpenServer

(static function () {
    return true;
})();

为什么这会引发语法错误?

syntax error, unexpected '('

但是http://php.net/manual/en/functions.anonymous.php
PS:而且->呼叫也不起作用…(意外的’->’)

解决方法:

这是问题所在.不是静态部分不起作用:

$f = static function () { return true; }; $f(); //Works in PHP 5.4+

声明和调用不起作用:

(static function () { return true; })(); //Works in PHP 7+

问题在于文档说第一种语法在PHP 5.4中有效,但是使用了要求PHP 7正常工作的示例.

上一篇:canvas.toDataURL()报错的解决方案全都在这了


下一篇:如何将匿名类(不是实例)作为参数传递给期望Java中类型为Class的方法