PHP型の比較備忘録

PHP型の比較備忘録

引っ越しして約1週間が経ちました、ichikawaです。
人生初のバス通勤をしています。桜の中をくぐりぬけての出勤、いいものです。
本日は、うっかりしがちな「変数の型によって異なるPHP関数での判定」について、簡単にまとめてみました。

empty is_null isset if($x)
$x = 0; TRUE FALSE TRUE FALSE
$x = "0"; TRUE FALSE TRUE FALSE
$x = ""; TRUE FALSE TRUE FALSE
$x = null TRUE TRUE FALSE FALSE
$x = array(); TRUE FALSE TRUE FALSE

理解が大事な場面は多々ありますが、例えば以下の様な場合…

if (empty($params)) { // 0もはじかれちゃう
    return '';
}
return $data[$params] ;

データが空だったらはじく、というつもりが、0の場合にもはじかれちゃったります。
基本的な事ですが、うっかりすると痛いので気をつけましょう。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ