鉴于此代码:
while($thisrow = mysqli_fetch_array($thisresult)){
if($thisrow['displaythis'] == 'yes'){
echo $thisrow['name'];
} else {
continue;
}
$associatedquery = "select * from database where id = $thisrow['associated']";
$result = mysqli_query($associatedquery);
while($row = mysqli_fetch_array($result)){
echo $row['name'];
}
}
如果$ thisrow ['displaythis'] == no,是否会继续'继续'来处理associatedquery,还是会回到第一个while语句中的下一个值?如果没有,我如何跳回第一个while语句中的下一个值并跳过关联查询?我知道我可以将整个'associatedquery'段放在if ='yes'语句中,但我不想这样做。
答案 0 :(得分:2)
继续跳过当前迭代的进一步处理并进入下一次迭代。
答案 1 :(得分:0)
要回答你的问题,继续将返回循环语句并重新开始循环中的下一个值,它将不会在continue语句之后执行循环的下半部分。如果语句不是循环,但for
,while
和switch
语句被认为是php中的循环
所以问题的答案是是
Here是一个更深入的解释
答案 2 :(得分:0)
问:是否会回到第一个while语句中的下一个值?
答:是,因为continue
将“继续”检查循环中if
条件的预期值并跳过执行其余代码直到你break
循环或它完成。
在以下位置查看一些示例和用法: