如何组合一个变量和一个字符串来形成一个新的变量


How combine a variable and a string to form a new variable?

是否可以将一个变量和一个字符串组合为一个新变量并回显它?

我有以下字符串:

$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,但它只会分散未来读者/维护人员(包括您自己)对您在逻辑中真正想做的事情的注意力。