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

Jot*_*Jot 3 php string for-loop if-statement

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

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

    <?php
        $f2 = bla2;
        $f3 = bla3;
Run Code Online (Sandbox Code Playgroud)

....

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

我想为每个 $f 提供输出,并在回显之前检查它是否为空。在添加 if 条件之前 for 循环已经起作用。我假设我没有在 if 条件内正确命名变量,并且我不知道如何执行此操作,因为此代码无法像现在一样工作。

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

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

在变量末尾添加计数器?

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

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

Ja͢*_*͢ck 6

像这样的东西应该有效:

for ($i = 3; $i <= 14; ++$i) {
    if (empty(${"f$i"})) {
        ${"f$i"} = ${"bla$i"}();
    }
}
Run Code Online (Sandbox Code Playgroud)

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