[英]Simple PHP Question: Using an IF statement inside a FOR loop
在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 }; ?>
但是它一直循環下去,直到我的瀏覽器凍結為止。這是怎么回事? 任何幫助將不勝感激!
您實際上將$ 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 } ?>
if ($k = 0)
您在這里將$k
設置$k
0
。 使用==
比較值,或使用===
比較值及其類型。
在if語句中,您使用=運算符,該運算符分配...
那么$ k將始終為0,循環將永遠不會結束。 在if語句中將=替換為==。 因此它將比較而不是分配$ ka值。
一個更清晰的例子。
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.
for ($k = 0; $k < 3; $k++){
if($k == 0){
$var = 'zero';
}elseif($k == 1){
$var = 'one';
}else{
$var = 'two';
}
}
echo $var;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.