提问人:Greg 提问时间:1/9/2013 最后编辑:CommunityGreg 更新时间:1/9/2013 访问量:898
动态修改静态变量变量数组
Dynamically modify a static variable variable array
问:
与这个问题类似 动态调用一个静态变量(数组),但用于写入变量。
我正在尝试在我的构造函数中初始化几个静态数组,但无法弄清楚如何动态编码它们的名称。
当我尝试这个时:
class MyClass {
public static $something1 = array();
public static $something2 = array();
function __construct() {
for( $i = 1; $i <= 2; $i++ ){
$arr = "something{$dynamic}";
self::$$arr[] = "a new element";
}
}
}
即使我不调用构造函数,我也会遇到此错误:
Fatal error: Cannot use [] for reading
有什么方法可以在不使用 eval 的情况下实现此目的吗?我正在使用 PHP 5.4。
答:
3赞
Madbreaks
1/9/2013
#1
试试这个:
self::${$arr}[] = 'a new element';
大括号为$
评论