我有一个常量,例如 define("EMPLOYEE_NAME_ID","employee"); 和一个变量 $code = EMPLOYEE;
现在我想打印如下
<?php echo $code.NAME_ID; ?>
但这仅打印“EMPLOYEE_NAME_ID”,我想打印“员工”。那么如何打印这个。全部意味着我想从 lang 文件中检索变量。
PHP中未引用的字符串将被解析为常量,
如果常量未定义,
则将其视为字符串(而不是变量)
如果你处理常量,你可以使用常量函数:-
echo constant("{$code}_NAME_ID");
但是,如果未定义常量,则使用此函数将返回警告消息。
还有其他选项,如parse_ini_file你可以看看,
这是处理大量设置/配置的理想选择
更好的方法是使用常量函数
echo constant($code."NAME_ID");
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;
两者之一是常数,而不是变量。您试图像变量变量一样使用它们(在这种情况下,通常array
应该首选 an )。
constant()
但是,您可以使用查找函数使用常量实现相同的效果:
<?php echo constant("{$code}_NAME_ID"); ?>
请注意,您仍然需要额外的_
下划线才能正常工作,这既不是您的常量后缀也不是$code
包含的。
define("EMPLOYEE_NAME_ID","employee")
是一个常量,因此当将它与变量组合时,您的语法应该是这样的。
$temp = "John";
$var = EMPLOYEE_NAME_ID." : ".$temp;
echo $var; {Output : employee : john}