Php 静态数组中的静态变量

Php 静态数组中的静态变量,php,Php,我试图在数组中插入一个静态变量,如下所示: static $datas = array( 'link' => config::$link ); 但我有这个错误 分析错误:语法错误,意外的T_变量,应为T_字符串 我想说: 与任何其他PHP静态变量一样,静态属性只能是 使用文本或常量初始化;不允许使用表达式。 因此,虽然可以将静态属性初始化为整数或数组 (例如),您不能将其初始化为另一个变量,即 函数返回值,或返回到对象 但我相信有办法做到这一点,有什么建议吗 不,没有解决办法静态

我试图在数组中插入一个静态变量,如下所示:

static $datas = array(
    'link' => config::$link
);
但我有这个错误

分析错误:语法错误,意外的T_变量,应为T_字符串

我想说:

与任何其他PHP静态变量一样,静态属性只能是 使用文本或常量初始化;不允许使用表达式。 因此,虽然可以将静态属性初始化为整数或数组 (例如),您不能将其初始化为另一个变量,即 函数返回值,或返回到对象


但我相信有办法做到这一点,有什么建议吗

不,没有解决办法<代码>静态变量和属性只能用常量值初始化。这意味着文字或常量。变量,
静态
或非静态不能使用,句点。您以后必须在某个地方使用过程代码指定变量值。

这里的
$datas
是静态变量吗?否则这个问题就没什么意义了。请提供复制此错误的完整工作代码段。通常使用
static$var=null;如果(is_null($var))$var=array(/*actual dynamic initialization*/)
,您可能会认为它可以安全地在PHP中实现,但这不仅仅是因为@deceze,yes$datas也是static@Vivien静态变量和静态属性完全不相关,这是对PHP语法中关键字的误导性重用。那么你应该正确地展示这一点。好吧,永远不要放弃希望。。。虽然在这种情况下,我认为这样做是安全的。