PHP中的For循环,仅一个循环具有唯一的输出

问题描述 投票:1回答:2

我有一个项目,在该项目中,我的输入决定了要回显的数字的范围,但我还需要一个数字来回显更多文本。目前,我有一个if语句可以运行,但是第二次回显该数字。

for ($x = $var1; $x <= $var2; $x += $varInc) {
    echo "<p>$x</p>";
    if ($x == $varGhost){
        echo "<p class='fas fa-ghost'></p>";
    }
}

应该看起来与此类似:

enter image description here

php for-loop
2个回答
2
投票

您应该将代码更改为:

for ($x = $var1; $x <= $var2; $x += $varInc) {
 if ($x == $varGhost){
    echo "<p>$x - GHOST!</p>";
 } else {
    echo "<p>$x</p>";
 }
}

我希望它能起作用:)


0
投票

它没有按预期方式工作,因为无论如何,无论以下if语句如何,第二行都回显数字$ x:

for ($x = $var1; $x <= $var2; $x += $varInc) {
    echo "<p>$x</p>"; // this line echoes the number $x in any case
    if ($x == $varGhost) {
        echo "<p class='fas fa-ghost'></p>";
    }
}

您应该像这样打印$ x之前检查它的值:

for ($x = $var1; $x <= $var2; $x += $varInc) {
    if ($x == $varGhost) {
        echo "<p class='fas fa-ghost'></p>";
    }
    else {
        echo "<p>$x</p>"; // this line echoes the number $x ONLY if it isn't a ghost
    }
}

无论如何,一种较短的编写方法:

for ($x = $var1; $x <= $var2; $x += $varInc)
    echo ($x == $varGhost) ? "<p class='fas fa-ghost'></p>" : "<p>$x</p>"

希望有帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.