我有一个使用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 :(得分: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()使常量不是变量。