PHP値を判定する【 if,isset,empty,is_null 】の違いをまとめてみました。

WordPressをカスタマイズするときに役立つのがデータベースから取り出した値がどんな値であるか知ることは非常に需要な役割があります。

取りだし値が null もしくは “” であるのかで、やりたい事が変わってきます。

そこで、値を判定するのによく使われるisset,empty,is_nullの違いについてまとめてみました。

if($var) isset empty is_null
$var=1 true true false false
$var=””; false true true false
$var=”0″; false true true false
$var=0; false true true false
$var=NULL; false false true true
$var false false true true
$var=array() false true true false
$var=array(1) true true false false

https://qiita.com/shinichi-takii/items/00aed26f96cf6bb3fe62

is_nullは、値がNULLであるかどうか判定しますが、「””」がfalseになるので、注意が必要ですね。

僕もこれはtrueになると思っていたので、最初は戸惑いました。

issetも同じように「””」で、trueになります。
感覚的には、「””」は何も値がないので、falseになると思いますが、issetは値がNULLでないかどうかを判定しますので、この違いは注意しておくべきです。

if,isset,empty,is_nullはよく使う値判定なので、どのように判定するかどうかは覚えておいて損はありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です