我想回复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++;
}
答案 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++;
}