2012-05-08 36 views
3

我有一个变量定义使用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]; 

但似乎笨重

+0

哇!为什么?必须有更好的方式 - 你想在这里实现什么?知道一个数组是什么? – 2012-05-08 21:50:05

+0

想要通过组装来自其他变量的变量名来实现访问定义的变量。 – timh

+0

我不能想象这是一种理想的方法。 – 2012-05-08 21:58:06

回答

9
echo constant ($a . $b); 

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

2

它不是一个变量,它是一个constant

echo constant ($a . $b); 
-4

为了使123回声出,使用此:

echo $a . $b; 

此外,定义()使常量不变量。

+0

Erm ...会输出'“xxx_yyy”',而不是该常量的值。 –

+0

哎呀,我只是专注于concat – MikeyObviously