用变量声明make static array php

时间:2013-04-11 10:15:06

标签: php arrays symfony static

我在制作静态数组时面临一些麻烦,将类的一些静态属性作为静态数组的键,如下所示:

class A {

    private $ambito; //will be filled with an element of the static $ambitos

    public static $municipal = 1;
    public static $provincial = 2;
    public static $regional = 3;

    /*array para declarar los posibles ambitos de visualizacion de una empresa*/
    private static $ambitos = array( 
                                   self::$municipal => "Municipal", 
                                   self::$provincial => "Provincial", 
                                   self::$regional => "Regional"
                              );



    public static function getAmbitos()
    {
        return self::$ambitos;
    }
}

问题是我不能使用self:$ cities里面的静态数组,因为它触发了一个错误,我只能使用文字整数(我是如何在数据库中保存的)

我正在使用symphony 2.0。

谢谢!

2 个答案:

答案 0 :(得分:3)

你也可以在那里使用常量。

class A {

    const DEFAULT_MUNICIPAL = 1;

    // ...

    public static $municipal = self::DEFAULT_MUNICIPAL;

    // ...

    private static $ambitos = array( 
        self::DEFAULT_MUNICIPAL => "Municipal", 
        // ...
    );

    // ...
}

答案 1 :(得分:0)

您不能在另一个静态变量中引用静态变量(因为它们将同时被解析)