【发布时间】:2015-04-30 14:29:22
【问题描述】:
这行不通:
class Someclass {
public static $v = '28';
private static $a = Array (
'theNumber' => self::$v
);
}
它产生:
PHP 解析错误:语法错误,意外的 '$v' (T_VARIABLE),需要标识符 (T_STRING) 或类 (T_CLASS)
如何让theNumber 使用Someclass 的静态成员作为值?
编辑: 请在回答或“标记为重复”之前阅读问题,这个问题与语法无关。是否可以在数组中使用静态变量(不是)。
【问题讨论】:
-
你使用的是什么版本的 PHP?
-
不是答案,但你应该把“theNumber”放在引号里
-
我使用的是 5.5 版
-
(现在是带引号的)
-
@John Conde - 我看不出与您标记为该问题重复的问题有任何关系。我的问题是如何将静态 var 用作数组的值,它与语法无关(即使我引用了语法错误),而是与功能有关。无论如何,我现在明白只允许在那里使用常量是有意义的,功能方面的(因为在初始化类时初始化了数组)。该问题的解决方案是简单地向类中添加一个函数,该函数会更改数组的特定属性。