0

この質問をする方法がわかりません...問題は、if ($current[$id][$i]['item'] == '')trueの場合、ループの実行を停止する必要があることです。したがって、スクリプトが実行する必要があるもの、この場合はエコーが何であれ、15回繰り返されないようにします。

exit;ページ全体を使用するとレンダリングが停止する場合は、アイデアはありますか?

前もって感謝します。

質問が十分に明確でない場合は、コメントを使用して遠慮なく質問してください。疑問がある場合は、喜んで明確にします。

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
        echo 'Done!.';
        //do something
    } 
    $a++; 
}
4

5 に答える 5

13

使用するbreak

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
        echo 'Done!.';
        break;
    } 
    $i++;  //<- that should probably be $i instead of $a?
}
于 2012-07-04T11:17:38.803 に答える
3

break制御構造を使用するのはどうですか?

于 2012-07-04T11:17:40.950 に答える
2

あなたは壊す必要があります。また、現在のループは無限であるため、タイムアウトになります。$iおそらく、 ではなくをインクリメントするつもりでし$aた。

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
        echo 'Done!.';
        break; //<-- terminate loop
    } 
    $a++; //<-- shouldn't this be $i++?
}
于 2012-07-04T11:18:03.983 に答える
0

ループを破るには 2 つの方法しかありません...exit;と... を使用しbreak;ます。

break;ループを終了して実行を継続し、終了するとスクリプトが終了します。

于 2012-07-04T11:18:34.150 に答える
-1
$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
        echo 'Done!.';
        break;  //   or you can make value of $i = 20;
    } 
    $a++; 
}
于 2012-07-04T11:17:33.307 に答える