如何将字符串和变量连接成常量名称?

时间:2011-11-28 08:14:55

标签: php variables global lang

我有一个像定义一样的常量(“EMPLOYEE_NAME_ID”,“员工”);和变量$ code = EMPLOYEE;

现在我想打印如下

<?php echo $code.NAME_ID; ?>

但这只打印“EMPLOYEE_NAME_ID”,我想打印“员工”。然后如何打印这个。全部意味着我想从lang文件中查看变量。

5 个答案:

答案 0 :(得分:5)

PHP中的非引号字符串将被解析为常量,
如果常数未定义,则 它将被视为字符串(而不是变量)

如果你处理常数,你可以使用constant function: -

echo constant("{$code}_NAME_ID");

但是,如果未定义常量,则使用此函数将返回警告消息 还有其他选项,例如parse_ini_file,您可以查看一下,
这是处理大量设置/配置的理想选择

答案 1 :(得分:2)

更好的方法是使用constant函数

echo constant($code."NAME_ID");

答案 2 :(得分:0)

   define('VAR1', 'my var' );

   $var2 = 'hello';

   echo $var2.''.VAR1;  // period, two apostrophes, period

   // same as if you were doing:

   echo "some string ".$var2." some more string".VAR1;

答案 3 :(得分:0)

两者中的一个是常数,而不是变量。您试图像variable variables一样使用它们(在这种情况下,通常应该首选array)。

然而,您可以使用constant()查找功能实现与常量相同的效果:

 <?php echo constant("{$code}_NAME_ID"); ?>

请注意,您仍然需要额外的_下划线才能使用此功能,既不包含常量后缀也不包含$code

答案 4 :(得分:0)

define("EMPLOYEE_NAME_ID","employee")是一个常量,所以当它与变量组合时,你的语法应该是这样的。

$temp = "John";

$var = EMPLOYEE_NAME_ID." : ".$temp;

echo $var; {Output : employee : john}