PHP检查变量的函数——isset、is_null、empty

作者: admin 分类: php开发 发布时间: 2022-03-25 16:08

检查变量是否定义函数:isset ()
语法:
bool isset(mixed var);
功能:
检查变量是否定义。(定义 = 声明 + 赋值)
返回值:
布尔值。如果变量已经定义,返回 TRUE,否则返回 FALSE。
例子:

<?php
$age; // 声明了变量,但没赋值。
if(isset($age)){
    echo 'true';
}else{
    echo 'false';
}
// 输出:false。
$age = 20;
if(isset($age)){
    echo 'true';
}else{
    echo 'false';
}
// 输出:true。

 

检查变量是否为空的函数:
一、is_null ()
语法:
bool is_null(mixed var)
功能:
检查变量 var 是否为 NULL。
返回值:
如果为 NULL,返回 TRUE,否则返回 FALSE。
变量的值为 NULL 的三种情况。
变量未经定义。
变量的值赋值为 NULL。
变量经过 unset () 函数处理后。
未经定义、赋值为 NULL、unset 处理。
类比:
没有警告会产生,哪怕变量并不存在。 这意味着 empty () 本质上与 !isset($var) || $var == false 等价。
变量为空的情况:
“” (空字符串)
0 (作为整数的 0)
0.0 (作为浮点数的 0)
“0” (作为字符串的 0)
null
false
array () (一个空数组)
$var; (一个声明了,但是没有值的变量)
三零二空一 null 一 false
例子:

$age;
if (is_null($age)) {
    echo 'true';
} else {
    echo 'false';
}
/*
输出:
Notice: Undefined variable: age in D:\phpStudy\PHPTutorial\WWW\index\myframe2\note\检查变量的函数\test.php on line 8
true
确实没有定义,返回的是true。
但是,由于$age未经定义,因此is_null(mixed var)函数会抛出notice信息。如果变量的值赋值为NULL,则不会抛出notice信息。
*/

二、empty ();
语法:
empty(mixed $var): bool
功能:
检查一个变量是否为空。
返回值:
当 var 存在,并且是一个非空非零的值时返回 false 否则返回 true.
例子:

if ($a='0' || $a=0 || $a=0.0 || $a = "" || $a=null || $a=[]) {
    echo 'true';
} else {
    echo 'false';
}
/*
输出:false;
*/
$a1 = '0';
$a2 = 0;
$a3 = 0.0;
$a4 = "";
$a5 = null;
$a6 = [];
$a7 = false;
$a8;
if (empty($a1) && empty($a2) && empty($a3) && empty($a4) && empty($a5) && empty($a6) && empty($a7) && empty($a8)) {
    echo 'true';
} else {
    echo 'false';
}
/*
输出:true;
*/

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

标签云