是否可以将一个变量和一个字符串组合为一个新变量并回显它?
我有以下字符串:
$string = '01001'
尝试类似以下内容:
$var = $_$string
最终,我想得到一个可以打印的类似$_01001
的var。所以,如果我有一堆数据,比如:
$_01001 = 'foo';
$_01002 = 'bar';
$_01003 = 'fooz';
$_01004 = 'barz';
所以echo $_01001;
会产生foo
。。。提前谢谢。
是的,您可以使用。看看下面的例子:
$_01001 = 'foo';
$_01002 = 'bar';
$string1 = '01001';
$string2 = '01002';
echo ${"_$string1"};
echo ${"_$string2"};
输出:foobar
在变量的变量处提供模式详细信息
$string = '01001';
$vals = [
'01001' => 'foo',
'01002' => 'bar',
'01003' => 'fooz',
'01004' => 'barz',
];
echo $vals[$string]; // produces "foo"
是的,我知道,无聊又缺乏魔力。但是可读的可维护代码往往是枯燥乏味的。PHP中确实存在可变变量voodoo,但它只会分散未来读者/维护人员(包括您自己)对您在逻辑中真正想做的事情的注意力。