博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php--isset()、is_null() 、empty()
阅读量:4469 次
发布时间:2019-06-08

本文共 2902 字,大约阅读时间需要 9 分钟。

开发中经常会遇到验证某个参数是否是null或者是否为空。

一、isset()、is_null() 、empty() :

  isset():检测变量是否设置,并且不是 NULL.如果变量没有赋值 或者 变量赋值为null.为 false.

  is_null():检测变量是否为 NULL,变量未声明,提示错误,结果输出。

  empty() :判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。

$def1;    $def2=0;    $def3=false;    $def4='';    $def5=array();    $def6=null;    echo('--  isset()   --');    echo("
"); echo('$def1'); var_dump(isset($def1) ); echo("
"); echo('$def2=0 :'); var_dump(isset($def2) ); echo("
"); echo('$def3=false :'); var_dump(isset($def3) ); echo("
"); echo('$def4=\'\' :'); var_dump(isset($def4) ); echo("
"); echo('$def5=array() :'); var_dump(isset($def5) ); echo("
"); echo('$def5=null :'); var_dump(isset($def6) ); echo("

"); echo('-- is_null() --'); echo("
"); echo('$def1'); var_dump(is_null($def1) ); echo("
"); echo('$def2=0 :'); var_dump(is_null($def2) ); echo("
"); echo('$def3=false :'); var_dump(is_null($def3) ); echo("
"); echo('$def4=\'\' :'); var_dump(is_null($def4) ); echo("
"); echo('$def5=array() :'); var_dump(is_null($def5) ); echo("
"); echo('$def5=null :'); var_dump(is_null($def6) ); echo("

"); echo('-- empty() --'); echo("
"); echo('$def1'); var_dump(empty($def1) ); echo("
"); echo('$def2=0 :'); var_dump(empty($def2) ); echo("
"); echo('$def3=false :'); var_dump(empty($def3) ); echo("
"); echo('$def4=\'\' :'); var_dump(empty($def4) ); echo("
"); echo('$def5=array() :'); var_dump(empty($def5) ); echo("
"); echo('$def5=null :'); var_dump(empty($def6) ); echo("

");

 

常用类型默认值,分三段,isset(),is_null(),empty(),是怎样对待默认值的

 

 输出:

-- isset() --$def1bool(false) $def2=0 :bool(true) $def3=false :bool(true) $def4='' :bool(true) $def5=array() :bool(true) $def5=null :bool(false)-- is_null() --$def1 Notice: Undefined variable: def1 in C:\Users\Sunn\Desktop\yii\yii\apps\blog\index.php on line 35 Call Stack: 0.0037 135992 1. {main}() C:\Users\Sunn\Desktop\yii\yii\apps\blog\index.php:0 bool(true) $def2=0 :bool(false) $def3=false :bool(false) $def4='' :bool(false) $def5=array() :bool(false) $def5=null :bool(true)-- empty() --$def1bool(true) $def2=0 :bool(true) $def3=false :bool(true) $def4='' :bool(true) $def5=array() :bool(true) $def5=null :bool(true)

 

isset():变量是否设置了有效值(变量存在且不为NULL)

is_null:变量是否为NULL(变量未声明也算,会有错误提示)

empty():这个不太友好,标准类型的默认值,被认为空。

 

 

总结:isset()   is_null()    empty()  — isset()包容性比较高,其次是is_null,我会根据实际情况严格程度进行使用。

 

二、defined:检查某个名称的常量是否存在,这个函数是检测常量的。

1 define("NAME","sc");2     echo('--   Const: NAME   --');3     echo("
");4 echo("NAME :");5 var_dump(defined('NAME'));6 var_dump(NAME);

 

输出:

-- Const: NAME --NAME :bool(true) string(2) "sc" is_null : bool(false)

转载于:https://www.cnblogs.com/sunchong/p/7062288.html

你可能感兴趣的文章
【嵌入式开发】写入开发板Linux系统-模型S3C6410
查看>>
C# 子线程与主线程通讯方法一
查看>>
006——修改tomacat的编码
查看>>
《C程序设计语言》笔记 (八) UNIX系统接口
查看>>
git常用命令
查看>>
Android必知必会-获取视频文件的截图、缩略图
查看>>
(转)理解Bitblt、StretchBlt与SetDIBitsToDevice、StretchDibits
查看>>
python之路-基础篇-第七周
查看>>
ViurtualBox配置虚拟机Linux的网络环境
查看>>
VLC 媒体播放器
查看>>
勿忘国耻2018/09/18
查看>>
Jenkins部署码云SpringBoot项目
查看>>
多标签分类(multi-label classification)综述
查看>>
史上最全面的Spring-Boot-Cache使用与整合
查看>>
图的遍历(深度优先与广度优先搜索两种方案)
查看>>
快速读入模板
查看>>
impdp报错: ORA-39064: 无法写入日志文件 ORA-29285: 文件写入错误
查看>>
\n ^ \t的使用
查看>>
css盒模型
查看>>
探索式测试:测试自动化
查看>>