将计数器变量添加到变量名称

时间:2013-01-29 14:53:20

标签: php string if-statement for-loop

我不明白如何将计数器变量内容添加到另一个变量的名称中。虽然我意识到使用数组可以更优雅地解决我的问题,但我想在变量名中使用计数器。

到目前为止,我的代码看起来像这样:

    <?php
        $f2 = bla2;
        $f3 = bla3;

...

        $f13 = bla13;
        $f14 = 0;
        echo $f2;
        for($j = 3; $j <= 14; ++$j){
        if (!empty('$f'.$j)){
        echo(', ');
        eval('print $f'.$j.';');
        };
     };
     ?>

我想为每个$ f提供输出,并在我回复之前检查它是否为空。在添加if条件之前,for循环已经有效。我假设我没有在if条件中正确命名变量,我不知道怎么做,因为这段代码现在不能正常工作。

我还想知道,如果我可以将if条件包含在for循环中。 我已经尝试将解决方案应用于这些问题

Access a variable using a counter as part of the variable name

Add counter to the end of variables?

Use counter as part of variable

但到目前为止没有成功。也许有人在这里发现我的错误。

1 个答案:

答案 0 :(得分:4)

这样的事情应该有效:

for ($i = 3; $i <= 14; ++$i) {
    if (empty(${"f$i"})) {
        ${"f$i"} = ${"bla$i"}();
    }
}

最重要的是,您可以使用${"f$i"}查找变量变量。