如何使用$ variable作为定义常量的名称来访问php定义的常量

时间:2012-05-08 21:46:34

标签: php

我有一个使用define()定义的变量 我想在常规的php $变量中存储该变量名称的一部分, 然后通过动态设置名称来访问该定义的变量。即:

define('xxx_yyy',123);
$a='xxz';
$b='_yyy';


//How to I echo out "123" now?  (without using echo xxx_yyy);
//Something like these (don't work):
echo $a$b;
echo {$a$b};

我唯一能想到的是:

$defined=get_defined_vars();
echo $defined[$a$b];

但这似乎很笨重

5 个答案:

答案 0 :(得分:9)

echo constant ( $a . $b );

是我认为你正在寻找的,因为它是一个常数。

答案 1 :(得分:2)

您可以使用constant()。 http://us3.php.net/manual/en/function.constant.php

答案 2 :(得分:2)

这不是变量,而是constant

echo constant ( $a . $b );

答案 3 :(得分:0)

正确的功能是 get_defined_constants() ,而不是 get_defined_vars()

答案 4 :(得分:-4)

要使123回显,请使用:

echo $a . $b;

此外,define()使常量不是变量。