HOWTO · PHP

PHP で Null の型と値を確認する

このチュートリアルでは、PHP で null の型と値を確認する方法を紹介します。

このページの内容

この記事では、PHP の null 値を、''、0、false などの値と比較して確認します。違いを示すために、double および tripleequals 演算子を使用します。

PHP で Double および TripleEquals 演算子を使用して、Null 値を空の文字列と比較する

PHP には、さまざまな比較演算子があります。比較演算子を使用して、2つのエンティティ間の値を比較します。PHP では、二重および三重の等号演算子が最も一般的に使用されます。これら 2つの比較演算子には単純な違いがあります。二重等号演算子 == は、2つのエンティティ間の値を比較します。トリプルイコール演算子に対して、=== は値と 2つのエンティティ間のタイプを比較します。PHP のエンティティを希望どおりに比較するには、これらの違いを知る必要があります。

null 値を空の文字列と比較し、これらの両方の比較演算子を使用して違いを監視できます。たとえば、変数 $foo を作成し、それを空の文字列に割り当てます。次に、if 条件を使用して、変数を NULL と doubleequals 演算子で比較します。条件が真の場合、メッセージ foo is null を表示します。条件が偽の場合は、the condition is false というメッセージを表示します。同様に、同じコードに対してトリプルイコール演算子を使用します。

最初のコード例は真の値を返し、2 番目のコード例は偽の値を返すことがわかります。二重等号演算子は、空の文字列と NULL の値のみを比較し、値は等しいです。ただし、トリプルイコール演算子は、これらのエンティティの値とタイプを比較します。空の文字列は string タイプであり、NULL は NULL タイプであるため、返される値は false です。gettype() 関数を使用してタイプをチェックできます。

サンプルコード:

$foo = '';
if($foo == NULL) {
 echo 'foo is null';
}
else{
 echo 'the condition is false';
}

出力:

foo is null

サンプルコード:

$foo = '';
if($foo === NULL) {
 echo 'foo is null';
}
else{
 echo 'the condition is false';
}

出力:

the condition is false

PHP の二重および三重の等号演算子を使って NULL 値を 0 と比較する

ここでは、二重等号演算子と三重等号演算子を使って、NULL と 0 を比較します。0 は整数であることがわかっています。二重等号演算子を使用して NULL と比較すると、0 が null であるため、条件は真になります。ただし、integer と NULL は異なるタイプです。したがって、トリプルイコール演算子を使用すると、false 条件が実行されます。

したがって、null 値を 0 と比較しながら、double および tripleequals 比較演算子がどのように機能するかを学習しました。

サンプルコード:

$foo = 0;
if($foo == NULL) {
 echo 'foo is null';
}
else{
 echo 'the condition is false';
}

出力:

foo is null

サンプルコード:

$foo = 0;
if($foo === NULL) {
 echo 'foo is null';
}
else{
 echo 'the condition is false';
}

出力:

the condition is false

PHP の二重および三重の等号演算子を使用した、NULL 値と false の比較

ここでは、二重および三重の比較演算子を使って、NULL と false ブール値を比較します。false と NULL の値は同じなので、二重等号演算子を使って真の条件を実行します。false は boolean 型の値であるが、NULL とは型が異なるので、false 条件が実行されます。

サンプルコード:

$foo = false;
if($foo == NULL) {
 echo 'foo is null';
}
else{
 echo 'the condition is false';
}

出力:

foo is null

サンプルコード:

$foo = false;
if($foo === NULL) {
 echo 'foo is null';
}
else{
 echo 'the condition is false';
}

出力:

the condition is false