php 空函数,PHP 中函数 isset(), empty(), is_null() 的区别

d19871206f3a54797d7e9df70ba64ffd.png

PHP 中函数 isset(), empty(), is_null() 的区别,

使用 PHP 进行开发的时候,经常会用到 isset(), empty(), is_null() 这几个函数对数据进行判断,但是这是哪个函数的具体区别其实没有很好的掌握。下面我们详细讲解一下:

NULL

什么是 NULL,当你开始写 PHP 代码的时候,直接用了未定义厄一个变量。

echo $var + 3; //使用这个变量出现:Notice: Undefined variable: var in

如果将其改写成:

$var = NULL;

echo $var + 3; //这样就不会有问题了

所以变量最好初始化,即使没有,可以将NULL赋给变量,表示这个变量已经定义但没有值,属于 NULL 类型。

is_null()

当满足下面三种情况时,is_null() 将返回 TRUE,其它的情况返回 FALSE

变量没有被赋值

变量被赋值为NULL

变量未定义,相当于 unset()

具体一些例子:

$var = NULL;

var_dump(is_null($var)); // TRUE

$var1;

var_dump(is_null($var1)); // TRUE Notice: Undefined variable

$num = 520;

unset($num);

var_dump(is_null($num)); //TRUE Notice: Undefined variable

var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable

$var = 0; is_null($var); // FALSE

$var = FALSE; is_null($var); // FALSE

$var = ''; is_null($var); // FALSE

isset()

检测已设定,并且不是NULL。如果没有设置变量,变量未赋值,或变量被设为 NULL,isset() 函数就返回 NULL。

正好和 is_null() 函数相反,is_null() 为 TRUE 的情况在 isset() 中就为 FALSE。

如果传递多个参数,将取交集。即所有参数全部符合 isset() 时才返回 TRUE。

$var = NULL; isset($var); // FALSE 当一个变量被赋值为NULL时,就表示这个变量没有值

$var = 0; isset($var); // TRUE

$var = FALSE; isset($var); // TRUE

$var = ''; isset($var); // TRUE

isset($some_undefined_var); // FALSE Undefined variable

可以看出 isset() 着重检测一个 变量是否设置和这个变量是否有具体的值,当变量满足这两种情况时 isset() 返回TRUE

empty()

判读变量是否为空。相当于 (!is_set($var) || !$var),来看一些具体例子:

$var = NULL; empty($var); // TRUE

$var = 0; empty($var); // TRUE

$var = FALSE; empty($var); // TRUE

$var = ''; empty($var); // TRUE

empty($some_undefined_var); // TRUE

empty() 为 TRUE 的情况,若变量不存在,或者变量存在且其值为””、0、”0″、NULL、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE。

一般如 !empty() 的判断,就是变量存在,且值不为 “”、0、”0″、NULL、FALSE、array() 以及只是单纯定义一个变量 $var。

本站推荐使用的主机:,国外主机建议使用。

转载请注明出处:https://www.it131.org/11389.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UVa11021

11021 TribblesGRAVITATION, n.“The tendency of all bodies to approach one another with a strengthproportion to the quantity of matter they contain – the quantity ofmatter they contain being ascertained by the strength of their tendencyto approach one anot…

python合法变量类型_Python 变量类型

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或…

数据库系统故障相关知识笔记

数据库系统中可能发生的故障主要包括事务故障、系统故障、介质故障、计算机病毒等。下面给大家简单整理一下相关的故障知识笔记。1、事务故障事务故障是因为程序执行错误而引起的非预期、异常终止的故障。主要有逻辑错误、系统错误导致事务的执行失败。逻辑错误:比如…

dede php分页代码,DEDECMS系统分页标签自定义二次开发

以前有给大家写过一篇自定义dedecms留言板的分页,下面我再来给大家分享一篇自定义常见的分页标签例子,希望文章对大家会有所帮助.自定搜索结果页面文章分页,在/plus文件夹中新建一个search.php文件,代码如下:require_once(dirname(__FILE__)."/../include/common.inc.php&…

windows下gvim中文乱码解决方案

网罗了一些网上的解决windows下gvim中文乱码的解决方案,都试了一遍,可惜都不能完全解决我的所有问题,最后我综合一下网上的两种方案,得到了最后完全解决我的中文乱码问题的方案,配置很简单,就是把下面的配置…

python主从_python—mariadb自动部署主从

import configparserimport osdef config_mariadb_yum():exists os.path.exists(/etc/yum.repos.d/mariadb.repo)if exists:print(mariadb.repo文件已经存在)yum_install_mariadb()else:config configparser.ConfigParser()config.read(/etc/yum.repos.d/mariadb.repo, encod…

数据库系备份相关知识笔记

1、数据库备份的知识介绍在互联网时代,最珍贵的财产不是计算机应用软件,更不是计算机硬件,而是企业在业务长期发展过程中积累下来的业务数据。建立网络最根本的用途是更加方便的传递、使用数据,人为原因、硬盘损坏、计算机病毒、断…

python数组合并、输入三行数据,如何在python中合并两个或三个3D数组?

Numpy的hstack、vstack或dstack(取决于要连接数组的轴)将连接多维数组。在请注意,对于MODIS气溶胶数据,使用hstack连接阵列有时会抛出错误,因为有时阵列是203 x 135,有时是204 x 135,因此水平维度并不总是匹配的基于您…

操作系统:分享6 个“吓人”的 Linux 命令

目录 1、crypt 2、kill 3、shred 5、at midnight 6、daemons 1、crypt 好吧,我们一直都有crypt。顾名思义,crypt不是存放垃圾文件的地宫或墓坑,而是加密文件内容的命令。 如今,“crypt”通常作为一个脚本而实现:通过调…

谷歌网络代理工具_谷歌更新了Dialogflow AI引擎,帮助客户创建更好的虚拟代理...

日前,谷歌发布了对其Dialogflow的一些重要更新,对话流是其呼叫中心人工智能服务的主要技术,它可以自动与呼叫中心的客户进行交互。据悉,Dialogflow是一个会话人工智能引擎,用于创建虚拟代理,可以理解和响应…

php use闭包参数,php 闭包use的使用

闭包可以从父作用域中继承变量。 任何此类变量都应该用 use 语言结构传递进去。PHP的闭包即为匿名函数。示例如下。$message hello;// 继承 $message$example function () use ($message) {var_dump($message);};echo $example(); //hello// Inherited variables value is fr…

数据库恢复相关知识笔记

1、数据库恢复的原理数据库恢复的原理主要是在数据库发生故障之后,建立冗余数据,在故障发生之后利用冗余数据来完成数据库恢复。数据转储和建立日志文件是建立冗余数据常用的技术手段。一般情况下两种技术手段会同时使用。2、故障恢复的两个操作故障恢复…

C++ map注意事项

C map注意事项 1、在map中,由key查找value时,首先要判断map中是否包含key。 2、如果不检查,直接返回map[key],可能会出现意想不到的行为。如果map包含key,没有问题,如果map不包含key,使用下标有…

oracle數據庫any,Oracle权限集合全集

alter any cluster 修改任意簇的权限alter any index 修改任意索引的权限alter any role 修改任意角色的权限alter any sequence 修改任意序列的权限alter any snapshot 修改任意快照的权限alter any table 修改任意表的权限alter any trigger 修改任意触发器的权限alter clust…

equals方法中变量在前和在后的区别

如果是两个都是变量,那就放哪都行没啥区别 如果有一个是常量一个变量的情况下,因为equals()方法是在Object类里定义的,也就是说任何对象都可以调用equals()方法,但是对象在调用方法的时候,如果对象为null那系统运行就…

空间句法软件_【特训营报名】空间句法理论与实践应用(第二期更新版)丨城市数据派...

最新线上特训营 授课老师专业过硬负责空间句法官方中文网站建设作为主要译者翻译空间句法奠基作《空间的社会逻辑》此课程为空间句法初级课程的第二期更新版课程内容更丰富更完善教学视频永久观看报名时间及价格 课程原价1000元,提前报名享优惠!4月13-19…

数据库安全性相关知识笔记​

1、数据库的恶意访问形式未经授权读取数据、未经授权修改数据、未经授权破坏数据。2、数据库安全性概念数据库安全性(Data Base Security)主要是指尽可能保护数据库不受恶意访问。3、数据库安全防护的层次数据库系统层次(DataBase System&…

HDU4055 - number string(DP)

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid4055 思路&#xff1a;dp[i][j]表示处理前i个字符以j结尾可能的序列数。当a[i]I时&#xff0c;dp[i][j]sum(dp[i-1][k]),&#xff08;1<k<j-1&#xff09;&#xff0c; 可进一步化为dp[i][j-1]dp[i-1][j-…

什么是字面量

1:字面量 字面量就是比如说int a 1; 这个1就是字面量 &#xff0c;a是变量名 又比如String b "abc";这个abc就是字面量&#xff0c;b是变量名