2013-04-11 64 views
0

我面臨着一些困難,使靜態數組變量靜態數組PHP,給一些類的靜態屬性爲靜態數組的按鍵,這樣的事情:聲明做出與

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:$ municipal,因爲它引發了錯誤,我只能使用文字整數(我是如何保存在數據庫中的)

我正在使用symphony 2.0。

謝謝!

回答

3

可以有使用常量了。

class A { 

    const DEFAULT_MUNICIPAL = 1; 

    // ... 

    public static $municipal = self::DEFAULT_MUNICIPAL; 

    // ... 

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

    // ... 
} 
+0

謝謝!我不能投票給你,因爲我沒有足夠的聲望,但它完美無缺;) – Angel 2013-04-11 11:14:19

0

你不能引用靜態變量在另一個靜態變量(因爲它們將在同一時間被解析)