关于php中的continue语句

2025-03-24 03:14:06
推荐回答(1个)
回答1:

读你上面的代码,貌似后面一段不会输出6吧.因为echo $g是包括在if($g==4)这个语句块里的,这段内部的echo $g应该不会被执行到.如果改成:

for($g=1;$g<=5;$g++)
    if($g==4){
        continue;
    }
    {echo $g;}

这样是可以得到输出6的.原因很简单,因为上面那个for语句是块中只有一个if($g==4)这个判断语句.后面的{echo $g;}已经是for语句块之外了.所以它只输出最后$g自增后的值($g=6),其实是相当于:

for($g=1;$g<=5;$g++){
    if($g==4){
        continue;
    }
}
//以下这行应该去掉{},写成:echo $g;
{echo $g;}

for或if语句等,如果后面没有{}标示,那么以紧接着它的下一个语句(或语句块)作为它语句块作用范围.