Home > Article > Backend Development > How to determine if a variable is empty in php
The judgment variable is empty, which is used on many occasions. At the same time, like many novices, I often make some mistakes, so I sorted out some commonly used judgment variables in PHP. Empty method.
1. isset function: determine whether the variable is initialized
Note: It does not determine whether the variable is empty, and can be used to determine whether the elements in the array are initialized. 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.
$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a has not been Initialized' . "";
if (!isset($b)) echo '$b is not initialized' . "";
if (isset($a['c'] )) echo '$a has been initialized' . "";
// The display result is
// $b has not been initialized
// $a has been Initialization
Related recommendations: "php Getting Started Tutorial"
2. empty function: detect whether the variable is "empty"
Description: Any uninitialized variable, variable with value 0 or false or empty string "" or null, empty array, or object without any attributes will be judged as empty==true.
Note 1: Uninitialized variables can also be detected as "empty" by empty.
Note 2: empty can only detect variables, not statements.
$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a is empty' . "";
if (empty($b)) echo '$b is empty' . "";
if (empty($c)) echo '$c is empty' . "";
if (empty($d)) echo '$d is empty' . "";
3. var == null function: Determine whether the variable is "null"
Description: Variables and empty arrays with a value of 0 or false or an empty string "" or null will be judged as null.
Note: The significant difference from empty is that var == null will report an error when the variable is not initialized.
$a = 0;
$b = array();
if ($a == null) echo '$a is empty' . "";
if ($b == null) echo '$b is empty' . "";
if ($c == null) echo '$b is empty' . "";
// The displayed result is
// $a is empty
// $b is empty
// 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 makes no difference.
Note 2: The detection result is true only when the value of the variable is "null". 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.
$a = null;
$b = false;
if (is_null($a)) echo '$a is NULL' . "";
if (is_null($b)) echo '$b is NULL' . "";
if (is_null($c)) echo '$c is NULL' . "";
// The display result is
// $a is NULL
// Undefined variable: c
5. var === null function: detection Whether the variable is "null", and the type of the variable must also be "null"
Explanation: When the variable is assigned a value of "null", 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 a variable has been initialized
empty can set variables with values of "false", "empty", "0", "NULL", and "uninitialized" Judged as TRUE
is_null Only variables with a value of "NULL" are judged as TRUE
var == null and values are "false", "empty", "0", and "NULL" All variables are judged to be TRUE
var === null. Only variables with a value of "NULL" are judged to be TRUE
. Therefore, when we judge whether a variable is really "NULL", most of the Use is_null to avoid interference with values such as "false" and "0".
6. Determine whether there is a null value in the obtained POST array:
[codes]$data = $_POST;
foreach ($data as $value){
if($value == ""){
error('Please fill in the form completely');
}
}[/codes]
The above is the detailed content of How to determine if a variable is empty in php. For more information, please follow other related articles on the PHP Chinese website!