跳转到主要内容

goto

What's the worse thing that could happen if you use goto?

The goto operator can be used to jump to another section in the program. The target point is specified by a case-sensitive label followed by a colon, and the instruction is given as goto followed by the desired target label. This is not a full unrestricted goto. The target label must be within the same file and context, meaning that you cannot jump out of a function or method, nor can you jump into one. You also cannot jump into any sort of loop or switch structure. You may jump out of these, and a common use is to use a goto in place of a multi-level break.

goto example

<?php
goto a;
echo 'Foo';

a:
echo 'Bar';

   

ENTITY

Bar

goto loop example

<?php
for ($i = 0, $j = 50; $i < 100; $i++) {
    while ($j--) {
        if ($j == 17) {
            goto end;
        }
    }
}
echo "i = $i";
end:
echo 'j hit 17';

   

ENTITY

j hit 17

This will not work

<?php
goto loop;
for ($i = 0, $j = 50; $i < 100; $i++) {
    while ($j--) {
        loop:
    }
}
echo "$i = $i";

   

ENTITY

Fatal error: 'goto' into loop or switch statement is disallowed in script on line 2