查看变量名修改的语法:
${'a' . 'b'} = 'hello there';
echo $ab;
这将返回"hello there"
但我想要声明定义的变量动态。
$error_code = $_GET[error_code]; //for example: 404
define(E404, 'Not found');
echo E{$error_code};
它返回错误,我想在php代码上生成E404
动态并获取其值。
我不知道我正在寻找的语法或技术是什么,这使得研究变得困难。
答案 0 :(得分:3)
您需要调用constant()从字符串中检索常量的值。您的示例应如下所示:
$error_code = 404;
define('E404', 'Not found');
echo constant("E{$error_code}");
,它会显示Not found
。
答案 1 :(得分:1)
<?php
$ErrorCode = $_GET['error_code']; // Where error_code = 404
$Errors = array(); // here we are creating a new array.
$Errors[$ErrorCode] = "Whatever"; // here we are setting a key of the new array, with the keys name being equal to the $ErrorCode Variable
print_r($Errors); // Would return Array( [404] => Whatever);
echo $Errors["404"]; // Would return Whatever
?>
答案 2 :(得分:1)
Well Php有一个叫做变量变量的功能。请看这个链接:http://php.net/manual/en/language.variables.variable.php。它允许将变量名称分配给变量。