goto işleci betik içinde başka bir komuta atlamak için kullanılabilir. Hedefin yeri, bir yafta ve ikinokta imi ile belirtilebilir. goto bu yaftaya göre hedefi bulur. Bu, goto deyiminin tamamen sınırsız olduğu anlamına gelmez. Hedef yaftasının aynı dosya ve aynı bağlam içinde kalması gerekir, yani bir işlev veya yöntemin dışına atlayamayacağınız gibi bir başka işlev veya yöntemin içine de atlayamazsınız. Ayrıca bir switch veya döngünün içine de atlayamazsınız, fakat bunların dışına atlayabilirsiniz, yani çok seviyeli bir break yerine bir goto kullanabilirsiniz.
Örnek 1 - goto örneği
<?php
goto a;
echo 'Foo';
a:
echo 'Bar';
?>
Yukarıdaki örneğin çıktısı:
Bar
Örnek 2 - Döngüden goto ile çıkma örneği
<?php
for($i=0,$j=50; $i<100; $i++) {
while($j--) {
if($j==17) goto end;
}
}
echo "i = $i";
end:
echo 'j hit 17';
?>
Yukarıdaki örneğin çıktısı:
j hit 17
Örnek 3 - Bu çalışmaz
<?php
goto loop;
for($i=0,$j=50; $i<100; $i++) {
while($j--) {
loop:
}
}
echo "$i = $i";
?>
Yukarıdaki örneğin çıktısı:
Fatal error: 'goto' into loop or switch statement is disallowed in script on line 2
Bilginize:
goto işleci PHP 5.3'ten beri kullanılabilmektedir.