如何将字符串和变量连接到常量名称中


How to concatenate a string and a variable into a constant name?

我有一个常量,如define("EMPLOYEE_NAME_ID","employee");$code = EMPLOYEE;

现在我想在

下面打印
<?php echo $code.NAME_ID; ?>

但是这只打印"EMPLOYEE_NAME_ID",我想打印"employee"。那怎么打印呢。所有的意思是我想从lang文件中检索变量。

PHP中的反引号字符串将被解析为常量,
如果常量未定义,
它将把

视为字符串(而不是变量)。

如果你处理常量,你可以使用常量函数:-

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

但是,如果没有定义该常量,使用此函数将返回警告消息。
还有其他选项,比如parse_ini_file你可以看一下
这对于处理大量的设置/配置非常理想

更好的方法是使用常量函数

echo constant($code."NAME_ID");

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

但是,您可以使用constant()查找函数对常量实现相同的效果:
 <?php echo constant("{$code}_NAME_ID"); ?>

请注意,您仍然需要额外的_下划线才能工作,您的常量后缀和$code都不包含该下划线。

   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;

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

$temp = "John";
$var = EMPLOYEE_NAME_ID." : ".$temp;
echo $var; {Output : employee : john}