最終更新日:
公開日:
レシピ
数値
条件式における数値の真偽について
関数などの返り値として受け取った数値を、そのままif文やwhile文の条件式に使うシーンがあると思います。しかし意外に、条件式で「真」とされる数値と、「偽」になる数値の区別は曖昧なことがあります。今回は様々な数値を使い、条件式でどう判断されるかを調査しました。
この記事のポイント
- どの数値が条件式で真(true)/偽(false)となるかが分かる
- 浮動小数点数の場合の真(true)/偽(false)も分かる
目次
条件式で「真」になる数値と「偽」になる数値の区別をハッキリさせる
条件式において、「1」はtrueとして判断され、「0」はfalseと判断されることはご存知の方も多いと思います。
でも、「-1」は?「0.0」や「1.0」の浮動小数点数は?
これらの数値について、今回はどの値が「真」となり、どの値は「偽」となるか、その境界をハッキリさせます。
様々な数値で確認
真偽の確認にあたって、次のようなシンプルなif文を使用します。
コード例
if( $number ) {
echo 'True';
} else {
echo 'False';
}
$numberに様々な数値を入れて、「True」と「False」のどちらが出力されるかで真偽の判定を調べます。
実行例
<?php
$number = 1;
if( $number ) {
echo 'True'; // Trueが出力される
} else {
echo 'False';
}
「1」以外の値も試した結果、次のような結果になりました。
実行例
$number = 1; // True
$number = 0; // False
$number = -1; // True
$number = 2; // True
$number = 100; // True
$number = 1.0; // True
$number = 0.0; // False
結論
「0」であれば「偽」、それ以外の値は「真」となることが分かりました。
「0」は整数(Integer)、浮動小数点数(Float)に関わらず「偽」になります。
「-1」は「偽」になるかと思いきや、「真」となりました。
もちろん「-1」以下の数値も「真」です。
以上、条件式における数値の真偽についてでした。
こちらの記事は役に立ちましたか?
コメントありがとうございます!
運営の参考にさせていただきます。
ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。