PHP is_null() isset() empty() 区别

PHP is_null() isset() empty() 区别

简要阐述基本用法,然后展示相关示例

is_null()

bool is_null ( mixed $var ) 查看所给的变量是否为 NULL

当参数满足以下三种情况时,is_null() 将返回 TRUE

  • 被赋予了 NULL 常量
  • 变量不存在或未初始化
  • 已经被 unset() 处理过

isset()

bool isset ( mixed $var [, mixed $... ] ) 检测变量是否设置,并且不是 NULL

参数满足以下几种情况时,isset() 将返回 FALSE

  • 变量不存在
  • 变量为 NULL
  • 被 unset() 处理过

Note: 如果传入多个参数时,将返回取交集后的结果

empty()

bool empty ( mixed $var ) 检查一个变量是否为空

当 var 存在,并且是一个非空非零时返回 FALSE 否则返回 TRUE, 当参数满足以下情况时,empty() 将返回 TRUE

  • "" (空字符串)
  • 0 (整数的0)
  • 0.0 (浮点数的0)
  • "0" (字符串的0)
  • NULL
  • FALSE
  • [] 或者 array() (空数组)
  • $var; (一个声明了,但是未赋值的变量)

Note: 在 php 5.5.0 版本后已支持表达式

示例对比

<?php
error_reporting(~E_NOTICE);
$a = 10;
$b = "";
$c = NULL;

echo "\n\n";
echo '$a = 10, $b = "", $c = NULL';

echo "\n\n============ ISSET ===========\n";
function testIsset($a, $b, $c)
{
    echo 'isset($a): ' . (isset($a) ? "Defined" : "Undefined") . "\n";
    echo 'isset($b): ' . (isset($b) ? "Defined" : "Undefined"). "\n";
    echo 'isset($c): ' . (isset($c) ? "Defined" : "Undefined") . "\n";
    unset($b);
    echo 'unset($b)';
    echo "\n";
    echo 'isset($b): ' . (isset($b) ? "Defined" : "Undefined") . "\n";
}
testIsset($a, $b, $c);
echo "============= END ============\n\n";

echo "============ EMPTY ===========\n";
function testEmpty($a, $b, $c)
{
    echo 'empty($a): ' . (empty($a) ? "empty" : "not empty") . "\n";
    echo 'empty($b): ' . (empty($b) ? "empty" : "not empty") . "\n";
    echo 'empty($c): ' . (empty($c) ? "empty" : "not empty") . "\n";
    unset($b);
    echo 'unset($b)';
    echo "\n";
    echo 'empty($b): ' . (empty($b) ? "empty" : "not empty") . "\n";
}
testEmpty($a, $b, $c);
echo "============= END ============\n\n";

echo "============ IS_NULL ===========\n";
function testIsnull($a, $b, $c)
{
    echo 'is_null($a): ' . (is_null($a) ? "null" : "not null") . "\n";
    echo 'is_null($b): ' . (is_null($b) ? "null" : "not null") . "\n";
    echo 'is_null($c): ' . (is_null($c) ? "null" : "not null") . "\n";
    echo 'unset($b)';
    echo "\n";
    echo 'is_null($b): ' . (is_null($b) ? "null" : "not null") . "\n";
}
testIsnull($a, $b, $c);
echo "============== END =============\n\n";
?>

参考原文地址:http://www.111cn.net/phper/php/47918.htm

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 8,314评论 4 97
  • PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, m...
    寄去远方的盛夏阅读 3,196评论 0 2
  • php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语言,...
    dptms阅读 5,888评论 1 15
  • PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来...
    梦幻_78af阅读 6,394评论 1 10
  • Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象...
    廖马儿阅读 6,648评论 2 38