将变量添加到常量,php

时间:2011-03-31 08:54:59

标签: php variables constants

我已经定义了一些这样的常量:

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代替雅虎或谷歌。

帮助?感谢。

4 个答案:

答案 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()来获取常量列表,然后选择您想要的那个......