(PHP 5 >= 5.3.0)
El operador goto puede ser usado para saltar a otra sección en el programa. El punto de destino es especificado mediante una etiqueta seguida de dos puntos y la instrucción es dada como goto seguida de la etiqueta del destino deseado. Este goto no es completamente sin restricciones. La etiqueta de destino debe estar dentro del mismo fichero y contexto, lo que significa que no se puede saltar fuera de una función o método, ni se puede saltar dentro de uno. Tampoco se puede saltar dentro de cualquier clase de estructura de bucle o switch. Se puede saltar fuera de estos y un uso común es utilizar un goto en lugar de un break multi-nivel.
Ejemplo #1 Ejemplo de goto
<?php
goto a;
echo 'Foo';
a:
echo 'Bar';
?>
El resultado del ejemplo sería:
Bar
Ejemplo #2 Ejemplo de goto en un bucle
<?php
for($i=0,$j=50; $i<100; $i++) {
while($j--) {
if($j==17) goto end;
}
}
echo "i = $i";
end:
echo 'j alcanzó 17';
?>
El resultado del ejemplo sería:
j hit 17
Ejemplo #3 Esto no funcionará
<?php
goto loop;
for($i=0,$j=50; $i<100; $i++) {
while($j--) {
loop:
}
}
echo "$i = $i";
?>
El resultado del ejemplo sería:
Fatal error: 'goto' into loop or switch statement is disallowed in script on line 2 (Error fatal: 'goto' hacia el interior de un bucle o sentencia switch no esta permitido en el script en la línea 2)
Nota:
El operador goto está disponible a partir de PHP 5.3.