在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 }; ?>
但它会一直循环,直到我的浏览器冻结......发生了什么事?任何帮助将不胜感激!
答案 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)
您在这里设置$k
到0
。使用==
比较值,或===
比较值及其类型。
答案 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;