はじめに
今回は、変数の条件判定を行う関数を比較し、まとめました。
※おことわり※
基本的に学習内容のアウトプットです。
初学者であるため、間違い等あればご指摘いただけますと嬉しいです。
この記事の目的
メソッドの性質に関して理解が曖昧だったため、整理をしてアウトプットしようと思いました。
この記事の対象者
- PHPを学習されている初学者の方
- issetやemptyの仕様に迷いがある方
この記事の内容
- isset
- empty
- is_null
- メソッドの比較
1. isset
変数が宣言されていること、そしてnullとは異なることを検査する
- 存在するかつ、null以外の値の場合true、それ以外はfalseを返す ※空はtrue
2. empty
変数が空であるかどうかを検査する
- 存在しないまたは、空, 0, "0", nullの値の場合true、それ以外はfalseを返す
- 変数が存在しない場合でも警告を出さない
-
!isset($var) || $var == false
と等しい
3. is_null
変数が null かどうか調べる
- nullの場合にtrue、それ以外の場合にfalseを返す
4. メソッドの比較
$value_1 = 1;
var_dump($value_1 ? true : false); // => true
var_dump(isset($value_1) ? true : false); // => true
var_dump(empty($value_1) ? true : false); // => false
var_dump(is_null($value_1) ? true : false); // => false
$value_2 = 0;
var_dump($value_2 ? true : false); // => false
var_dump(isset($value_2) ? true : false); // => true
var_dump(empty($value_2) ? true : false); // => true
var_dump(is_null($value_2) ? true : false); // => false
$value_3 = "0";
var_dump($value_3 ? true : false); // => false
var_dump(isset($value_3) ? true : false); // => true
var_dump(empty($value_3) ? true : false); // => true
var_dump(is_null($value_3) ? true : false); // => false
$value_4 = "";
var_dump($value_4 ? true : false); // => false
var_dump(isset($value_4) ? true : false); // => true
var_dump(empty($value_4) ? true : false); // => true
var_dump(is_null($value_4) ? true : false); // => false
$value_5 = null;
var_dump($value_5 ? true : false); // => false
var_dump(isset($value_5) ? true : false); // => false
var_dump(empty($value_5) ? true : false); // => true
var_dump(is_null($value_5) ? true : false); // => true
$value_6;
var_dump($value_6 ? true : false); // => false
var_dump(isset($value_6) ? true : false); // => false
var_dump(empty($value_6) ? true : false); // => true
var_dump(is_null($value_6) ? true : false); // => true
$array_1 = [];
var_dump($array_1 ? true : false); // => false
var_dump(isset($array_1) ? true : false); // => true
var_dump(empty($array_1) ? true : false); // => true
var_dump(is_null($array_1) ? true : false); // => false
$array_2 = [0];
var_dump($array_2 ? true : false); // => true
var_dump(isset($array_2) ? true : false); // => true
var_dump(empty($array_2) ? true : false); // => false
var_dump(is_null($array_2) ? true : false); // => false