goto: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '== 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 he...') |
(Ingen skillnad)
|
Nuvarande version från 18 augusti 2024 kl. 17.54
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