判断数组是否为空的5大方法,PHP中判断变量为空的几种方法分享

 百家乐-前端     |      2020-03-17 02:00

1. isset职能:推断变量是不是被开始化

表达:它并不会咬定变量是或不是为空,何况能够用来判定数组七月素是还是不是被定义过

在乎:当使用isset来决断数组成分是还是不是被初步化过时,它的功效比array_key_exists高4倍左右

<?php
$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a 未被初始化' . "";
if (!isset($b)) echo '$b 未被初始化' . "";
if (isset($a['c'])) echo '$a 已经被初始化' . "";
// 显示结果为
// $b 未被初始化
// $a 已经被初始化

瞩目2:empty只好检查评定变量,而无法检查评定语句
复制代码 代码如下:
$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 为空' . "";
if (empty($b)) echo '$b 为空' . "";
if (empty($c)) echo '$c 为空' . "";
if (empty($d)) echo '$d 为空' . "";

正文介绍了PHP开垦中遇见的数组难题,这里介绍了推断PHP数组为空的5种办法,有亟待的相恋的人能够借鉴参考一下。

  1. var === null
    职能:检查测量试验变量是不是为“null”,同有的时候间变量的类型也必得是“null”
    评释:当变量被赋值为“null”时,相同的时候变量的花色也是“null”时,检查测试结果为true

3. var == null效用:判别变量是还是不是为”空”

表明:值为 0 或 false 或 空字符串”” 或 null的变量、空数组、都将判别为 null

介意:与empty的明显差别正是:变量未伊始化时 var == null 将会报错。

<?php
$a = 0;
$b = array();
if ($a == null) echo '$a 为空' . "";
if ($b == null) echo '$b 为空' . "";
if ($c == null) echo '$b 为空' . "";
// 显示结果为
// $a 为空
// $b 为空
// Undefined variable: c
  1. isset
    效用:剖断变量是还是不是被起始化 
    证实:它并不会咬定变量是或不是为空,并且能够用来推断数组中元素是或不是被定义过 
    瞩目:当使用isset来推断数组成分是还是不是被初阶化过时,它的作用比array_key_exists高4倍左右
    复制代码 代码如下:
    $a = '';
    $a['c'] = '';
    if (!isset($a卡塔尔(قطر‎State of Qatar echo '$a 未被带头化' . "";
    if (!isset($b卡塔尔State of Qatar echo '$b 未被开端化' . "";
    if (isset($a['c']卡塔尔(قطر‎卡塔尔 echo '$a 一度被开始化' . "";
    // 呈现结果为
    // $b 未被初阶化
    // $a 已经被最初化

  2. empty
    效能:检测变量是还是不是为“空”

5. var === null作用:检查实验变量是不是为”null”,同不时间变量的种类也必须是”null”

注明:当变量被赋值为”null”时,同期变量的门类也是”null”时,检查评定结果为true

瞩目1:在认清为”null”上,全等于和is_null的效能相通

小心2:变量未开端化时,程序将会报错

瞩目2:变量未初步化时,程序将会报错总括

总结:

PHP中,”NULL” 和 “空” 是2个概念。

isset 重要用来判别变量是不是被发轫化过

empty 能够将值为 “假”、”空”、”0″、”NULL”、”未早先化” 的变量都认清为TRUE

is_null 仅把值为 “NULL” 的变量判别为TRUE

var == null 把值为 “假”、”空”、”0″、”NULL” 的变量都认清为TRUE

var === null 仅把值为 “NULL” 的变量判定为TRUE

当心:在认清二个变量是或不是真的为”NULL”时,多数选择is_null,进而制止”false”、”0″等值的干扰。

评释:任何三个未最早化的变量、值为 0 或 false 或 空字符串”" 或 null的变量、空数组、未有此外性质的对象,都将推断为empty==true
在乎1:未伊始化的变量也能被empty检验为“空”

2. empty功用:检查测量试验变量是或不是为”空”

证实:任何三个未初步化的变量、值为 0 或 false 或 空字符串”” 或 null的变量、空数组、未有其他性质的指标,都将推断为empty==true

专心1:未初步化的变量也能被empty检验为”空”

在意2:empty只可以质量评定变量,而无法检查评定语句

<?php
$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 为空' . "";
if (empty($b)) echo '$b 为空' . "";
if (empty($c)) echo '$c 为空' . "";
if (empty($d)) echo '$d 为空' . "";

is_null 仅把值为 “NULL” 的变量决断为TRUE

4. is_null功用:检验变量是或不是为”null”

证实:当变量被赋值为”null”时,检验结果为true

专心1:null不区分抑扬顿挫写:$a = null; $a = NULL 未有其他分化

在乎2:仅在变量的值为”null”时,检验结果才为true,0、空字符串、false、空数组都检查评定为false

只顾3:变量未开首化时,程序将会报错

<?php
$a = null;
$b = false;
if (is_null($a)) echo '$a 为NULL' . "";
if (is_null($b)) echo '$b 为NULL' . "";
if (is_null($c)) echo '$c 为NULL' . "";
// 显示结果为
// $a 为NULL
// Undefined variable: c

var === null 仅把值为 “NULL” 的变量判别为TRUE所以我们在认清一个变量是还是不是真正为“NULL”时,许多选取is_null,进而幸免“false”、“0”等值的扰乱。

  1. is_null
    功用:检查评定变量是不是为“null”
    证实:当变量被赋值为“null”时,检验结果为true