Home  >  Article  >  Backend Development  >  How to use null value detection function in PHP

How to use null value detection function in PHP

墨辰丷
墨辰丷Original
2018-05-17 10:52:051244browse

PHP is a loosely typed programming language. It is an indispensable step to check the "type" of the parameter value passed in and "whether the value is empty or NULL" in the function.

We will detect the parameters carried by almost any entry HTTP request. Functions similar to isset() empty() must not be uncommon.
The following test results are based on whether PHP7.16

is defined: isset()

You can use the isset() function to determine whether a variable is defined. , whether an element in the array has been initialized, its efficiency is about 4 times higher than array_key_exists()


$a = 'test';
$b = array('key1' => 'value1');
$class = new stdClass();
var_dump(isset($class->test->test)); // 判断对象属性是否定义:输出 bool(false)
var_dump(isset($a)); // 判断变量是否定义:输出 bool(true)
var_dump(isset($c)); // 判断变量是否定义:输出 bool(false)
var_dump(isset($b['key1'])); // 判断数组元素是否定义:输出 bool(true)
var_dump(isset($b['key2'])); // 判断数组元素是否定义:输出 bool(false)


Yes Empty judgment: empty()

empty() function, detects whether the variable is empty
Any uninitialized quantity, 0, false, empty string, null, empty array, use empty judgment will return true


var_dump(empty($c));     // 输出 bool(true)
var_dump(empty($b['key2'])); // 输出 bool(true)
var_dump(empty($class));   // 输出 bool(false)
var_dump($class);       // 输出 object(stdClass)#1 (0) {}
var_dump(empty($class->test->test)); // 输出 bool(true)
class EmptyClass{};
$empty_class = new EmptyClass();
var_dump(empty($empty_class));// 输出 bool(false)


##null == $var judgment

In addition to reporting an error when judging undefined variables, just like the empty judgment, 0, false, empty array, etc. will all return true. The essence is that the == expression will automatically type convert the variables on both sides, so the judgment result is true.

is_null judgment

When the single variable assignment is null or NULL, the judgment result is true, otherwise it is false. If the variable is not defined, an error will be reported

null === $var Judgment

Expression: === is mandatory type detection. It will not only detect the value of the variables on both sides of the expression, but also detect the type of the variable. True will be returned when they are equal.

0 === $var: Check whether it is 0

false === $var: Check whether it is false
null === $var: Check whether it is null
'' === $var: Check whether it is an empty string. If it contains any character, it will return false, such as a space character. \0
Using === can distinguish between empty strings, 0, false and null, and even Both integer and floating point types can be distinguished.


$zero_int = 0;
$zero_bool = false;
$zero_double = 0.0;
$zero_null = null;
$zero_str = '';
var_dump(0 === $zero_int);   // 输出 bool(true)
var_dump(0 === $zero_bool);  // 输出 bool(false)
var_dump(0 === $zero_double); // 输出 bool(false)
var_dump(0 === $zero_null);  // 输出 bool(false)
var_dump(0 === $zero_str);   // 输出 bool(false)
var_dump('' === $zero_str);  // 输出 bool(true)
var_dump('' === $zero_int);  // 输出 bool(false)
var_dump('' === $zero_bool);  // 输出 bool(false)
var_dump(0.0 === $zero_double);// 输出 bool(true)
var_dump(0.0 === $zero_int);  // 输出 bool(false)


Related recommendations:

PHP function overloading analysis and examples

Reference and return of php function

PHP function curl request-fetch page/interface test

The above is the detailed content of How to use null value detection function in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn