简单循环不工作 [已关闭]
我刚刚开始学习编程。我正在学习循环,但这个程序没有按预期工作。我想在 等于 时中断循环,以便我获得输出,但我得到输出:($a
3
1 2
3
for($a=0;$a<10;++$a)
{
if($a==3)
break
print"$a ";
}
请帮忙。
我刚刚开始学习编程。我正在学习循环,但这个程序没有按预期工作。我想在 等于 时中断循环,以便我获得输出,但我得到输出:($a
3
1 2
3
for($a=0;$a<10;++$a)
{
if($a==3)
break
print"$a ";
}
请帮忙。
后记分号break
知道为什么你的程序会以这种方式运行是相当有趣的。
在 PHP 中的一般语法是:break
break Expression;
表达式是可选的,但如果存在其值,则表示要从中分解多少嵌套的封闭结构。
break 0;
并且与break 1;
break;
您的代码等效于
if($a==3)
break print"$a ";
现在 PHP 中的打印
函数始终返回 。因此,它等效于1
if($a==3)
break 1;
所以什么时候打印它的值并中断。$a
3
建议使用大括号将条件或循环的主体括起来,即使该主体具有单个语句也是如此。在这种情况下,将身体括在大括号中:if
if($a==3) {
break
}
print"$a ";
会给出一个语法错误:PHP期望一个,但发现一个;
}
上述所有内容也适用于 PHP。所以程序continue
for($a=0;$a<10;++$a)
{
if($a==3)
continue
print"$a ";
}
也出于类似的原因进行打印。3
您在休息结束时缺少一个分号。;)
即使使用分号,它也不会像您期望的那样工作,因为它将从 到 计数。你必须这样写才能得到.0
2
1 2
<?php
for($a=1;$a<10;++$a)
{
if($a==3)
break;
print"$a ";
}
?>
注意 $a现在是 for 循环初始化中的一个。
编辑:我注意到你应该注意的另一件事。在 for 循环控制中,您有一个预增量 ()。这基本上意味着 PHP 递增的值,然后返回 。另一个选项是后增量 (),其中返回,然后递增 1。++$a
$a
$a
$a++
$a
在您的情况下,两种方式都会让您获得正确的输出。
这有时非常重要。请记住这一点。