类似于这个问题 Dynamically call a static 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。