Php变量循环不会返回html中我想要的值

时间:2014-02-27 10:44:03

标签: php html for-loop

我想回复4行代码。变量$x应为1,2,3,4,变量$y应为3,4,5,6

我的循环中的$x变量工作正常,但是$y不能像我想要的那样工作(所以它稍后在HTML中回显3,4,5,6

所以我的问题是:为什么$y变量在我的最终HTML代码中没有返回3,4,5,6

for ($x=0; $x<=3;$x++) {
$y=3;
if (${"interferer" .$x} == true) {
  echo "<li><a href='#tabs-$y'>Interferer $x</a></li>";
}
else {
  echo "<!--<li><a href='#tabs-$y'>Interferer $x</a></li>-->";

}
$y++;
}

5 个答案:

答案 0 :(得分:1)

你每次都在设置$y=3;,它永远不会增加。

尝试在$y=3;循环之外移动for

答案 1 :(得分:1)

在每次迭代中,您都会$y=3;并在最后增加

答案 2 :(得分:1)

Y变量每次都在循环开始时进行初始化。

答案 3 :(得分:1)

您需要更新代码,以便在进入$y循环之前初始化for

$y=3; //Move outside of for loop
for ($x=0; $x<=3;$x++) {
    if (${"interferer" .$x} == true) {
        echo "<li><a href='#tabs-$y'>Interferer $x</a></li>";
    } else {
        echo "<!--<li><a href='#tabs-$y'>Interferer $x</a></li>-->";

    }
    $y++;
}

以前的意思是$y在循环的每次迭代中都重置为值3,从而破坏了增量

答案 4 :(得分:0)

这只是因为你的$ y每次循环重置为3, 你需要把它从循环中拿出来......

$y=3;  // here :)
for ($x=0; $x<=3;$x++) {
    //$y=3; //not here!
    if (${"interferer" .$x} == true) {
        echo "<li><a href='#tabs-$y'>Interferer $x</a></li>";
    }
    else {
        echo "<!--<li><a href='#tabs-$y'>Interferer $x</a></li>-->";
    }
    $y++;
}