考虑以下:
$var = 'foo' . 'bar'; # Not a member of a class, free-standing or in a function.
我一标记$var
as static
, 然而:
static $var = 'foo' . 'bar';
PHP(WAMP 设置为 5.3.1)抱怨以下错误:
解析错误: 语法错误,意外的“.”,需要“,”或“;”
看来字符串连接是这里的罪魁祸首。
这里发生了什么?有人可以向我解释静态变量的规则吗?
手册指出,在变量范围 http://php.net/manual/en/language.variables.scope.php:
尝试将值分配给这些作为表达式结果的[静态]变量将导致解析错误。
中也有提到静态关键字 http://php.net/oop5.static:
与任何其他 PHP 静态变量一样,静态属性只能使用文字或常量进行初始化;不允许使用表达式。
尽管应该注意的是,无论是否静态,属性都不能使用表达式进行初始化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)