⊗ppPmCdBOP 93 of 447 menu

PHPの条件文における中括弧の省略に関する問題

PHPでは上記のように中括弧を省略した記述が可能ですが、一般的にはそのように記述することをお勧めしません。なぜなら、これは見つけにくいエラーの温床となるからです。

例えば、次のようなコードがあるとします:

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

ここで、条件が真の場合に2つ目のechoも行いたいと決めたとします:

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

しかし、中括弧がない場合、条件の内部にあるのは最初の出力文のみです。つまり、最初の出力は条件が真の場合に実行され、2つ目の出力は常に実行されます。

実際、このコードは次のものと同等です:

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // この行は条件の外側にきてしまった ?>

本来私たちが意図したコードは、おそらく次のようなものです:

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // この行は条件の内側 } ?>

この種のエラーに陥らないために、常に中括弧を記述することが推奨されています。

コードを実行せずに、画面に何が表示されるか判断してください:

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

コードを実行せずに、画面に何が表示されるか判断してください:

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

コードを実行せずに、画面に何が表示されるか判断してください:

<?php $num = 0; if ($num === 5) echo $num; echo '---'; echo '+++'; ?>
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否