我已经定义了一些这样的常量:
define("TITLE_2","Yahoo");
define("TITLE_3","Google");
接下来,我希望通过函数获得常量。
public function title($id) {
return TITLE_.$id;
}
想法,我可以拨打$ this-> title(2)来获取Yahoo和$ this-> title(3)来获取Google。但是,它不起作用。我得到TITLE_2或TITLE_3代替雅虎或谷歌。
帮助?感谢。
答案 0 :(得分:7)
使用constant功能
public function title($id) {
return constant("TITLE_$id");
}
答案 1 :(得分:4)
php在这里尝试做的是“获取定义TITLE_
然后附加存储在$ id中的值”。
您需要使用constant()
功能才能实现此目的:
public function title($id) {
return constant("TITLE_$id");
}
使用你所描述的方式也会产生和
注意:使用未定义的常量TITLE_ - 假定为'TITLE_'
确保您已启用错误报告并至少启用了E_NOTICE
警告,因为在调试此类内容时,它们会帮助您很多。
答案 2 :(得分:1)
您需要return constant(TITLE_.$id)
编辑
you need to `return constant("TITLE_.$id")`
谢谢Gaurav
答案 3 :(得分:0)
也许您可以使用get_defined_constants()来获取常量列表,然后选择您想要的那个......