切换语句有效,但是,我试图脱离循环,但运气不多。
我尝试过休息,打破1,休息2并继续,但它不起作用。我正在使用PHP 5.6。ECHO工作正常,数据从DB出来也很好。问题是它的打印三次。
<?php
$sql = "SELECT *
FROM table1
INNER JOIN verify
WHERE uname='$showuser'";
$result = mysqli_query($mysqli,$sql);
if(mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_array($result)){
$userid= $row["id"];
$verify= $row["verified"];
//NB! Notice how the If and While Loop are not closed here
?>
<?php echo " stuff etc etc" ?>
<?php
//I cant seem to some out of the IF statement. I tried BREAK, CONTINUE and EXIT.
switch ($verify) {
case '1': echo "<img src='passed.png' />"; break 1;
case '3': echo "<img src='failed.png' />"; break 1;
default: echo "<img src='waiting.png' />"; break;
}//END switch
?>
<?php }} //END first IF & WHILE loops
$sql2 = "SELECT * FROM table2 WHERE e.ctable_id = $userid ";
$result2 = mysqli_query($mysqli,$sql2) or die(mysqli_error($mysqli));
if(mysqli_num_rows($result2) > 0){
while($row2 = mysqli_fetch_array($result2)){
?>
<?php echo " stuff etc etc" ?>
<?php } } //END second IF & WHILE loops ?>
在我添加Switch语句之前,一切都很好。
断裂结束当前的执行,foreach, while ,do-while或 switch> switch 结构。
break 1
只会突破您的"开关"语句,您将需要break 2
才能达到循环嵌套级别。
$count = 0;
while( $count++ < 10 )
{
echo 'while';
switch( true )
{
case true:
echo 'switch';
break 2; // TWO is needed here to break out of TWO levels of nesting
}
}
https://www.php.net/manual/en/control-sstructures.break.php
Break接受一个可选的数字参数,该参数将要脱离多少个嵌套封闭结构。默认值为1 ,只有立即的封闭结构被拆除。
阻止脚本的其余部分运行
exit;
如果要退出if/else语句(如果满足(进行
return;