从PHP中的字符串中获取常量值

时间:2017-08-26 11:49:54

标签: php

我需要从字符串中提取PHP中的常量值。 我的例子将比我的话更好地解释:)

constants.php:

define('CONNECTION_FAILED', 'Connection Error');

index.php:

include_once 'constants.php';
$success = $_GET['message']; //$success -> "CONNECTION_FAILED"

现在我要做的是显示常量的值,并在$ success变量上显示名称。

你知道这样做的方法吗?

提前谢谢

4 个答案:

答案 0 :(得分:2)

您可以使用constant函数获取常量的值:

define("MAXSIZE", 100);

echo MAXSIZE;
echo constant("MAXSIZE"); // same thing as the previous line

在你的情况下,它可以是:

echo constant($success);

答案 1 :(得分:1)

是的,您可以使用常量函数获取计算名称常量的值:

define('CONNECTION_FAILED', 'Connection Error');
$success = $_GET['message']; //$success -> 'CONNECTION_FAILED'
$message = constant($success); // 'Connection error'

答案 2 :(得分:1)

constant http://dk.php.net/manual/en/function.constant.php 你可以做constant($success)

答案 3 :(得分:1)

使用constant(),您可以实现您想要的效果。在做任何事之前检查它的设置,以避免出现 Undefined constant 通知。

include_once 'constants.php';
$success = '';
if (isset($_GET['message']) && constant($_GET['message']) !== null) {
    $success = constant($_GET['message']);
} else {
    // Not a valid message
    // $_GET['message'] not defined as a constant's name
}