是否可以将变量和字符串组合到一个新变量并回显它?
我有以下字符串:
$string = '01001'
尝试类似:
$var = $_$string
最终,我希望最终得到像$_01001
这样可以打印的var。所以,如果我有一堆数据,如:
$_01001 = 'foo';
$_01002 = 'bar';
$_01003 = 'fooz';
$_01004 = 'barz';
所以echo $_01001;
会产生foo
...提前谢谢。
答案 0 :(得分:2)
是的,你可以使用。看看下面的例子:
$_01001 = 'foo';
$_01002 = 'bar';
$string1 = '01001';
$string2 = '01002';
echo ${"_$string1"};
echo ${"_$string2"};
输出:foobar
模式详细信息位于Variable of variable
答案 1 :(得分:1)
$string = '01001';
$vals = [
'01001' => 'foo',
'01002' => 'bar',
'01003' => 'fooz',
'01004' => 'barz',
];
echo $vals[$string]; // produces "foo"
是的,我知道,无聊又缺乏魔力。但可读的可维护代码通常很无聊而且没有魔力。变量变量voodoo确实存在于PHP中,但它会分散您未来的读者/维护者(包括您自那时起的一周以上)与您在逻辑中真正想要做的事情。