PHP基础:检查变量的函数——isset、is_null、empty。

前言:

看到老哥分享的面试复盘中出现了 empty 函数的试题,就回去翻了一下以前总结的笔记。想想还是写成博客吧,反正已经离不开这个论坛了,忘记了随时随地都能拿出来复习。

检查变量是否定义函数: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;

*/
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!