3

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

现在我想打印如下

<?php echo $code.NAME_ID; ?>

但这仅打印“EMPLOYEE_NAME_ID”,我想打印“员工”。那么如何打印这个。全部意味着我想从 lang 文件中检索变量。

4

5 回答 5

5

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

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

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

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

于 2011-11-28T08:18:27.493 回答
2

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

echo constant($code."NAME_ID");
于 2011-11-28T08:18:35.090 回答
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;
于 2011-11-28T08:16:06.477 回答
0

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

constant()但是,您可以使用查找函数使用常量实现相同的效果:

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

请注意,您仍然需要额外的_下划线才能正常工作,这既不是您的常量后缀也不是$code包含的。

于 2011-11-28T08:18:59.610 回答
0

define("EMPLOYEE_NAME_ID","employee")是一个常量,因此当将它与变量组合时,您的语法应该是这样的。

$temp = "John";

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

echo $var; {Output : employee : john}
于 2011-11-28T08:20:16.860 回答