2014-02-27 22 views
0

我想回显4行代码。变量$x应为1,2,3,4,变量$y应为3,4,5,6Php变量在循环中没有返回我想要的值在html中

在我的循环的$x变量工作正常,则$y但不是那样,我希望它(所以它呼应3,4,5,6在HTML版本)

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

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++; 
} 

回答

1

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

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

+0

omg我很盲目..谢谢 –

+0

我们都犯这些错误。乐意效劳。 – Alex

+0

当然,我正在等待10分钟通过;) –

1

在每次迭代你正在$y=3;,并在年底

1

变量Y.越来越初始化在每次循环的开始就不断增加。

0

它很简单,因为你的$ y是重置每次循环三, 你需要把它拿出来循环....

$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++; 
} 
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从而破坏递增

相关问题