簡體   English   中英

簡單的PHP問題:在FOR循環中使用IF語句

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM