言語別、if文でtrue(真)/false(偽)になる場合

php

言語別、if文でtrue(真)/false(偽)になる場合について

 

if文の条件式ですが、true(真)になるかfalse(偽)になるかの判定は、言語によって異なります。

以下の「$hogeの値」が、どのような場合に真or偽になるか簡単にまとめました。

 

 

C言語

0(int型)のみが偽となり、それ以外がすべて真。

0(int型)のみ
0(int型)以外すべて

(bool型はC言語にはありません)

 

C++

0(int型)とfalseのみが偽となり、それ以外がすべて真。

0(int型)、false
0(int型)、false以外すべて

 

Java

falseのみが偽で、trueのみが真。

falseのみ
trueのみ

 

 

Javascript

false、undefined、null、+0、-0、NaN、””(空文字)が偽で、それ以外は真。

false、undefined、null、+0、-0、NaN、

“”(空文字)

偽に記載した内容以外すべて

Javascriptでは、Objectはすべて真になる。空の配列も真となるので要注意です

 Ruby

false、nil が偽で、それ以外は真。

false、nil のみ
false、nil 以外すべて

 

 PHP

表の通りです。

booleanのfalse

integerの0(ゼロ)

floatの0.0(ゼロ)

空の文字列および文字列の”0″

要素の数がゼロの配列

メンバ変数の数がゼロであるオブジェクト(PHP4のみ)

NULL、NaN、nil

偽に記載した項目以外は真

 

 Perl

表の通りです。

文字列 “”、”0”

数値 0

すべての未定義値

文字列:””と”0″以外すべて

数値:0以外すべて

すべてのリファレンス

 

まとめ

他にも色々な言語がありますが、こちらに記載した言語だけでも、言語によって条件判定が異なることがわかります。

忘れがちな箇所ですし、条件判定は大事な箇所ですから、迷ったり自信がない場合はしっかりと確認しましょう!

Secured By miniOrange
タイトルとURLをコピーしました