Maison >développement back-end >tutoriel php >Une brève discussion sur l'utilisation de la syntaxe goto en PHP
Cet article vous présentera comment utiliser la syntaxe goto en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
En C++, Java et de nombreux langages, il existe une magie La syntaxe c'est aller. Comme son nom l’indique, son utilisation est d’aller directement quelque part. Du point de vue du code, cela signifie sauter directement à l'endroit spécifié. Nous avons également cette fonction en PHP. Voyons d'abord comment elle est utilisée :
goto a; echo "1"; // 不会输出 a: echo '2'; // 2
Lorsque le code s'exécute jusqu'à la position goto, il passe à la ligne de code où se trouve a : et continue l'exécution. C'est très amusant. Cette fonction est très utile pour les ifs imbriqués complexes ou pour sortir de certaines boucles, notamment pour gérer certaines exceptions ou situations d'erreur, telles que :
for ($i = 0, $j = 50; $i < 100; $i++) { while ($j--) { if ($j == 17) { // 假设$j==17是一种异常情况 goto end; // 直接跳走了,循环结束的结果也不输出了 } } } echo "i = $i"; end: echo 'j hit 17'; // 直接到这里输出或者处理异常情况了
Cela semble plutôt bien, non ? La syntaxe goto a également certaines limitations :
Par exemple, les codes suivants ne sont pas valides :
$a = 1; goto switchgo; switch ($a){ case 1: echo 'bb'; break; case 2: echo 'cc'; switchgo: echo "bb"; break; } goto whilego; while($a < 10){ $a++; whilego: echo $a; } // Fatal error: 'goto' to undefined label 'ifgo'
Ils signaleront tous la même erreur car la balise goto définie est introuvable en raison de la portée. De plus, il convient de noter que l'utilisation de goto peut provoquer une boucle infinie, comme indiqué ci-dessous :
b: echo 'b'; goto b;
Lorsque le code est exécuté pour goto, il revient à la ligne d'étiquette b précédente, puis continue de s'exécuter. vers le bas, atteignant à nouveau goto, est devenu une boucle sans fin. Cela ressemble un peu à while (vrai). Cependant, il n'y a pas de rupture dans cette boucle goto, vous ne pouvez aller qu'à d'autres endroits dans goto.
Par conséquent, l'utilisation de la syntaxe goto est très rare, car elle perturbera le flux logique de votre code, mais les personnes qui l'aiment sentiront qu'elle peut rendre le code très flexible. Cela nécessite un jugement de bienveillance et de sagesse. Actuellement, l'utilisation de cette syntaxe n'est pas fortement préconisée dans la documentation de la plupart des langages, dont PHP. Ma suggestion est que s'il ne s'agit pas d'une situation très particulière ou pour montrer vos compétences, essayez de ne pas utiliser la syntaxe goto. Lorsque le code du projet devient compliqué, il est facile de confondre les autres ou vous-même.
测试代码:https://github.com/zhangyue0503/dev-blog/blob/master/php/201911/goto%E8%AF%AD%E6%B3%95%E5%9C%A8PHP%E4%B8%AD%E7%9A%84%E4%BD%BF%E7%94%A8.md 参考文档:https://www.php.net/manual/zh/control-structures.goto.php
Étude recommandée : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!