使动态定义(常量)变量命名为php

时间:2017-02-17 12:59:22

标签: php variables dynamic

查看变量名修改的语法:

${'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动态并获取其值。 我不知道我正在寻找的语法或技术是什么,这使得研究变得困难。

3 个答案:

答案 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。它允许将变量名称分配给变量。