Structures de contrôle PHP sans accolades
En PHP, les accolades sont généralement utilisées pour définir le corps des structures de contrôle telles que if/else , while, for et foreach. Cependant, il existe certains scénarios dans lesquels les accolades peuvent être omises sans provoquer d'erreurs.
If/Else
Dans les instructions if/else, les accolades peuvent être omises s'il y a n'est qu'une seule déclaration dans chaque corps. Par exemple :
<code class="php">if ($x == 1) echo 'foo'; else echo 'bar';</code>
Cela équivaut à :
<code class="php">if ($x == 1) { echo 'foo'; } else { echo 'bar'; }</code>
For et foreach
Dans les boucles for et foreach, les accolades peuvent également être omis s’il n’y a qu’une seule instruction dans le corps. Cependant, il est important de noter que ces boucles continueront à s'exécuter jusqu'à ce que la condition spécifiée devienne fausse. Par exemple :
<code class="php">$arr = []; foreach ($var as $value) $arr[] = $value;</code>
Cela parcourra tous les éléments de $var et les ajoutera à $arr. Cependant, si vous omettez le point-virgule après l'instruction if dans une boucle foreach, une erreur d'analyse se produira :
<code class="php">foreach ($var as $value) if (1 + 1 == 2) $arr[] = $value;</code>
C'est parce que la boucle foreach attend un point-virgule après l'instruction if.
While
Dans les boucles while, l'omission des accolades aura le même effet que dans les boucles for et foreach : la boucle continuera à s'exécuter jusqu'à ce que la condition spécifiée devienne fausse. Par exemple :
<code class="php">while ($x > 0) $x--;</code>
Cela décrémentera $x de 1 jusqu'à ce qu'il atteigne 0.
Précautions
Bien qu'il soit techniquement possible d'omettre les boucles accolades dans certaines structures de contrôle, cela n'est généralement pas recommandé pour les raisons suivantes :
Par conséquent, il est recommandé de toujours utiliser des accolades dans les structures de contrôle pour garantir la clarté et la maintenabilité.
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!