Home  >  Article  >  Backend Development  >  What are the methods in php to detect whether a variable is empty?

What are the methods in php to detect whether a variable is empty?

王林
王林forward
2021-02-11 10:15:243257browse

What are the methods in php to detect whether a variable is empty?

There are the following five methods in php to detect whether a variable is empty. So what are the differences between these five methods? Let’s take a look together below.

1. isset function: determine whether the variable has been initialized

Note: It does not determine whether the variable is empty, but can be used to determine whether the elements in the array have been defined.

Note: When using isset to determine whether an array element has been initialized, its efficiency is about 4 times higher than array_key_exists.

<?php
    //$a = &#39;&#39;;
    //$a = false;
    $a[&#39;c&#39;] = &#39;&#39;;
    if (!isset($a)) echo &#39;$a 未被初始化&#39; . "<br/>";
    if (!isset($b)) echo &#39;$b 未被初始化&#39; . "<br/>";
    if (isset($a[&#39;c&#39;])) echo &#39;$a 已经被初始化&#39; . "<br/>";
//结果
// $b 未被初始化
// $a 已经被初始化

2. empty() function: detect whether the variable is "empty"

Description: Any uninitialized variable, the value is 0 or false or the empty string "" or null Variables, empty arrays, objects without any properties, empty(variable) == true.

Note 1: Uninitialized variables can also be detected as "empty" by empty.

Note 2: empty can only detect variables, not statements.

<?php
$a = 0;
$b = &#39;&#39;;
$c = array();
if (empty($a)) echo &#39;$a 为空&#39; . "<br/>";
if (empty($b)) echo &#39;$b 为空&#39; . "<br/>";
if (empty($c)) echo &#39;$c 为空&#39; . "<br/>";
if (empty($d)) echo &#39;$d 为空&#39; . "<br/>";
//结果
// $a 为空
// $b 为空
// $c 为空
// $d 为空
var_dump(empty(null));
var_dump(empty(0));
var_dump(empty(&#39;&#39;));
var_dump(empty([]));
//结果
// bool(true)
// bool(true)
// bool(true)
// bool(true)

3. var == null Function: Determine whether the variable is "empty"

Description: The value is 0 or false or an empty string "" or null variable, empty Arrays and arrays will all be judged as null.

(Learning video sharing: php video tutorial)

Note: The significant difference from empty is: when the variable is not initialized, var == null will report an error.

<?php
$a = 0;
$b = array();
if ($a == null) echo &#39;$a 为空&#39; . "";
if ($b == null) echo &#39;$b 为空&#39; . "";
if ($c == null) echo &#39;$c 为空&#39; . "";

// 显示结果为
// $a 为空
// $b 为空
// Undefined variable: c

4. is_null function: detect whether the variable is "null"

Description: When the variable is assigned a value of "null", the detection result is true.

Note 1: null is not case-sensitive: a=null;a=null;a = NULL makes no difference.

Note 2: Only when the value of the variable is "null", the detection result is true. 0, empty string, false, and empty array are all detected as false.

Note 3: When the variable is not initialized, the program will report an error.

<?php
$a = null;
$b = false;

if (is_null($a)) echo &#39;$a 为NULL&#39; . "";
if (is_null($b)) echo &#39;$b 为NULL&#39; . "";
if (is_null($c)) echo &#39;$c 为NULL&#39; . "";

// 显示结果为
// $a 为NULL
// Undefined variable: c

5. var === null function: detect whether the variable is "null", and the type of the variable must also be "null"

Description: When the variable is assigned a value of "null" When, and the type of the variable is also "null", the detection result is true.

*Note 1: When judging "null", equal to is_null has the same effect.

*Note 2: When the variable is not initialized, the program will report an error.

Summary:

In PHP, "NULL" and "empty" are two concepts.
isset is mainly used to determine whether the variable has been initialized.
empty can judge variables with values ​​of "false", "empty", "0", "NULL", and "uninitialized" as TRUE.
is_null only evaluates variables with a value of "NULL" as TRUE.
var == null Judges variables with values ​​of "false", "empty", "0", and "NULL" as TRUE.
var === null Only variables with a value of "NULL" are judged as TRUE.

Note: When judging whether a variable is really "NULL", is_null is mostly used to avoid interference from "false", "0" and other values.

Related recommendations: php tutorial

The above is the detailed content of What are the methods in php to detect whether a variable is empty?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete