⊗ppPmCdWBC 84 of 447 menu

PHPにおける論理値の非厳密比較

前の例では、比較に 演算子 === を使用しました。この場合、変数は 値と型の両方で true と等しいかどうか 比較されます。

私たちのタスクでは、演算子 == も使用できます。もし変数 test に 常に truefalse のどちらかが 入るなら、何も変わりません:

<?php $test = true; // ここには true または false を書きます if ($test == true) { echo '+++'; } else { echo '---'; } ?>

しかし、変数 $test に 任意の値が入る可能性がある場合は、すべてが ずっと複雑になります。その場合、変数内が 論理値でない値の場合、その値は まず論理値に変換され、それから 初めて比較されます。

例えば、変数の中身が 数値 1 だとします。この場合、まず 論理型、つまり true に変換されます。そしてその後、比較が実行されます:

<?php $test = 1; if ($test == true) { echo '+++'; // これが動作します。なぜなら 1 == true は真だからです } else { echo '---'; } ?>

一方、例えば数値 0false に変換されます。結果として、私たちの条件は 偽になります:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; // これが動作します。なぜなら 0 == true は真でないからです } ?>

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

<?php $test = 1; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

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

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

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

<?php $test = 1; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

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

<?php $test = 1; if ($test != true) { echo '+++'; } else { echo '---'; } ?>

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

<?php $test = ''; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

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

<?php if ($test == true) { echo '+++'; } else { 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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否