如何组合变量和字符串以形成新变量?

时间:2015-12-11 03:37:37

标签: php

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

我有以下字符串:

$string = '01001'

尝试类似:

$var = $_$string

最终,我希望最终得到像$_01001这样可以打印的var。所以,如果我有一堆数据,如:

$_01001 = 'foo'; $_01002 = 'bar'; $_01003 = 'fooz'; $_01004 = 'barz';

所以echo $_01001;会产生foo ...提前谢谢。

2 个答案:

答案 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中,但它会分散您未来的读者/维护者(包括您自那时起的一周以上)与您在逻辑中真正想要做的事情。