1
我有這樣的枚舉。如何將int轉換爲PHP SPlEnum?
class TPNF_SplEnum extends SplEnum {
public static function InitList() {
$instance = new static;
static::$List = array_flip($instance->getConstList());
}
public static function GetName($key) {
return static::$List[$key];
}
public static function GetList() {
return static::$List;
}
}
class TPNF_Model_Url_ERelative extends TPNF_SplEnum {
protected static $List;
const __default = self::None;
const None = 0;
const Admin = 1;
const Content = 2;
const Includes = 3;
const Plugins = 4;
const Site = 5;
const Theme = 6;
const Themes = 7;
}
而我想投入一個int值到此枚舉,但它不起作用。
$url->Relative = new TPNF_Model_Url_ERelative((int)'2');
這(使用print_r的)輸出:
TPNF_Model_Url_ERelative Object ([__default] => 2)
,而不是
TPNF_Model_Url_ERelativeContent
print_r()將不會返回所需內容... print_r()具有固定的顯示輸出格式,具體取決於所顯示的數據類型。 – 2015-03-03 11:21:05
你可能想要做的是爲你的類添加一個魔術__toString()方法,它會返回適當的值 – 2015-03-03 11:24:04