简单的PHP问题:在FOR循环中使用IF语句

时间:2011-08-30 19:54:09

标签: php

在for循环中,我正在尝试根据循环的迭代次数设置一个变量:

<?php 
for ($k = 0; $k < 3; $k++){ 
    if ($k = 0) : $var = 'zero';    
    elseif ($k = 1) : $var = 'one'; 
    else : $var = 'two';
    endif;  
?>

This is iteration <?php echo $var; ?>.

<?php }; ?>

但它会一直循环,直到我的浏览器冻结......发生了什么事?任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:6)

您实际上将$ k设置为0和1.比较值使用'=='。 试试这个。

<?php 
for($k = 0; $k < 3; $k++){ 
    if ($k == 0)
        $var = 'zero';    
    elseif ($k == 1)
        $var = 'one'; 
    else
        $var = 'two';  
?>
This is iteration <?php echo $var; ?>.

<?php } ?>

答案 1 :(得分:1)

if ($k = 0)

您在这里设置$k0。使用==比较值,或===比较值及其类型。

答案 2 :(得分:1)

if 语句中,您使用的是=运算符,它分配了...
然后$ k将始终为0并且循环将永远不会结束。 在if语句中替换= to ==。因此它将比较而不是为$ k赋值。

一个更清晰的例子.-

if ($k = 1) // It will return 1, because you are assigning $k, 1.

但是在

if ($k == 1) // It will return a boolean **true** if $k equals 1, **false** otherwise.

答案 3 :(得分:1)

for ($k = 0; $k < 3; $k++){ 
    if($k == 0){
        $var = 'zero';
    }elseif($k == 1){
        $var = 'one';
    }else{
        $var = 'two';
    }
}
echo $var;