这似乎像无限循环一样执行。
a:
echo "Statement 1 \n";
b:
echo "Statement 2 \n";
if(1 > 2)
goto a;
else
goto b;
但这可以正常使用。
if(1 > 2)
goto a;
else
goto b;
a:
echo "Statement 1 \n";
b:
echo "Statement 2 \n";
有什么区别。如何在第一种情况下再次执行一些代码块。示例
$b = 1;
$c = 2;
$a = $b+$c;
if($a > $ b)
// here i want to cal $a = $b+$c; without using function or copy pasting the code.
答案 0 :(得分:2)
goto将跳转到代码的那一部分。所以在第一种情况下,你跳起来再次从b开始:然后你一遍又一遍地做。但在第二种情况下,你跳了下来。
答案 1 :(得分:2)
这是一个无限循环因为......你的代码是一个无限循环!
a:
echo "...";
.-- b: <------------.
| echo "..."; |
| if(1 > 2) |
| goto a; |
| else |
`-----> goto b; ----´
将输出:
Statement 1
Statement 2
Statement 2
Statement 2
Statement 2
[...]
代码的命名部分(a:
和b:
)不会停止脚本;它们只是你可以跳到的名字。如果到达,将始终执行命名的代码段。