goto

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

goto

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

goto-operatorn kan användas för att hoppa till en annan sektion i programmet. Målpunkten specificeras med en skiftlägeskänslig etikett följd av ett kolon, och instruktionen ges som goto följt av den önskade måletiketten. Detta är inte ett fullt obegränsat goto. Måletiketten måste vara inom samma fil och kontext, vilket innebär att du inte kan hoppa ut ur en funktion eller metod, och du kan inte heller hoppa in i en sådan. Du kan inte heller hoppa in i någon form av loop- eller switch-struktur. Du kan dock hoppa ut ur dessa, och ett vanligt användningsområde är att använda goto istället för en fler-nivås brytning.

Exempel #1 Exempel på goto

<?php

goto a;
echo 'Foo';

a:
echo 'Bar';

?>

Ovanstående exempel kommer att ge följande utmatning:

Bar

Exempel #2 Exempel på goto i en loop

<?php

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

?>

Ovanstående exempel kommer att ge följande utmatning:

j hit 17

Exempel #3 Detta kommer inte att fungera

<?php

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

?>

Ovanstående exempel kommer att ge följande utmatning:

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

Sidslut

Orginalhemsidan på Engelska :
PHP
Språkreferens
Språkreferens#Kontrollstrukturer