【发布时间】:2016-08-29 19:29:42
【问题描述】:
我正在尝试访问数组中的静态类成员变量。
我的代码(index.php):
<?php
class Foo
{
public static $staticVar = 'test';
}
class Bar
{
public $someArray = array(
Foo::$staticVar
);
}
$cls = new Bar();
var_dump($cls->someArray);
?>
在 PHP-7.0 上出现此错误:
PHP 致命错误:常量表达式中包含无效操作 /var/www/html/index.php 第 12 行
在 PHP-5.6 上出现此错误:
PHP 解析错误:语法错误,意外的 '$staticVar' (T_VARIABLE), 期望标识符 (T_STRING) 或类 (T_CLASS) 在 /var/www/html/index.php 第 11 行
我只想在我的数组中包含字符串“test”。
奇怪的是,当我“回显”出变量时,它按预期工作:
echo Foo::$staticVar // prints 'test'
我是 PHP 新手,我不知道我做错了什么。
【问题讨论】:
标签: php class oop static member