⊗ppPmCdBOP 93 of 447 menu

Le problème de l'optionalité des accolades dans les conditions en PHP

Bien que PHP permette les raccourcis mentionnés ci-dessus avec les accolades, je ne recommande pas de le faire en général, car c'est une source d'erreurs difficiles à déceler.

Prenons par exemple le code suivant :

<?php $test = 3; if ($test > 0) echo $test; ?>

Supposons maintenant que nous décidions, si la condition est remplie, de faire également un second echo :

<?php $test = 3; if ($test > 0) echo $test; echo '+++'; ?>

Cependant, sans les accolades, seule la première instruction se trouve à l'intérieur de la condition, c'est-à-dire que la première instruction s'exécutera si la condition est vraie, et la seconde - toujours.

En fait, notre code est équivalent à celui-ci :

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // cette ligne s'est retrouvée en dehors de la condition ?>

Alors que nous souhaiterions un code comme celui-ci :

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // cette ligne est à l'intérieur de la condition } ?>

C'est pourquoi il est recommandé de toujours utiliser les accolades, afin de ne pas tomber ce genre d'erreurs.

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

<?php $num = 5; if ($num === 5) echo $num; echo '+++'; ?>

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

<?php $num = 0; if ($num === 5) echo $num; echo '+++'; ?>

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

<?php $num = 0; if ($num === 5) echo $num; echo '---'; echo '+++'; ?>
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser