goto

L'op�rateur goto peut �tre utilis� pour continuer l'ex�cution du script � un autre point du programme. La cible est sp�cifi�e par un label, suivi de deux-point, et l'instruction goto est ensuite suivi de ce label. goto n'est pas totalement sans limitations. L'�tiquette cible doit �tre dans le m�me contexte et fichier, ce qui signifie qu'il n'est pas possible de changer de m�thode ou de fonction, ni de se rendre dans une autre fonction. Vous pouvez sortir d'une fonction, et l'utilisation courante est alors de se servir de goto comme un break.

Exemple #1 Exemple avec goto

<?php
goto a;
echo 
'Foo';
 
a:
echo 
'Bar';
?>

L'exemple ci-dessus va afficher :

Bar

Exemple #2 Exemple de boucle avec goto

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

L'exemple ci-dessus va afficher :

j hit 17

Exemple #3 Ce goto ne fonctionne pas

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

L'exemple ci-dessus va afficher :

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

Note: L'op�rateur goto est disponible depuis PHP 5.3.

Image gracieuset� de » xkcd