LoginSignup
1
0

【PHP】変数の条件判定を比較(if, isset, empty, is_null)

Posted at

はじめに

今回は、変数の条件判定を行う関数を比較し、まとめました。

※おことわり※
基本的に学習内容のアウトプットです。
初学者であるため、間違い等あればご指摘いただけますと嬉しいです。

この記事の目的

メソッドの性質に関して理解が曖昧だったため、整理をしてアウトプットしようと思いました。

この記事の対象者

  • PHPを学習されている初学者の方
  • issetやemptyの仕様に迷いがある方

この記事の内容

  1. isset
  2. empty
  3. is_null
  4. メソッドの比較

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
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0