2

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

到目前为止,我的代码如下所示:

    <?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 循环中。我已经尝试将解决方案应用于这些问题

使用计数器作为变量名的一部分访问变量

在变量末尾添加计数器?

使用计数器作为变量的一部分

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

4

1 回答 1

5

像这样的东西应该工作:

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

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

于 2013-01-29T14:56:03.877 回答