PHP在类数组中使用类变量

时间:2013-12-29 12:11:50

标签: php arrays class variables

我正在尝试在我的类

中的数组中使用变量
class MyClass {

public static $a = "World";

public static $b = array("Hello" => self::$a);

}

此代码不起作用。我应该使用MyClass::$a还是别的。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

如果您的$ a不会改变,请将其设为常量

class MyClass {

    const a = "World";

    public static $b = array("Hello" => self::a);

}

var_dump(MyClass::$b);

答案 1 :(得分:3)

您可能可以在运行时实例化它们:

class MyClass {
    public static $a;
    public static $b;
}

MyClass::$a = "World";
MyClass::$b = [ "Hello" => MyClass::$a ];

或者您可以创建静态初始化方法:

class MyClass {
    public static $a;
    public static $b;

    public static function init(){
        static::$a = "World";
        static::$b = [ "Hello" => static::$a ];
    }
}

MyClass::init();

答案 2 :(得分:1)

class MyClass {

    public static $a = "World";
    public static $b;
    public function __construct(){
      self::$b = array("Hello" => self::$a);
    }

}
$obj = new MyClass();