PHP——isset和empty
前言
对于这两个PHP函数大家肯定都很熟悉,但是其二者的区别又有那些呢?
对比
isset | 检测变量是否被设置过
1. 变量不存在,返回FALSE
2. 变量存在且其值为NULL,返回FALSE
3. 变量存在且值不为NULL,返回TURE

empty | 检测变量是否为空
1.变量存在且值为非空非零的值,返回FALSE
2.变量存在且值为空为零时,返回TRUE
PHP变量被认为空的几种情况
1."" (空字符串)
2.0 (作为整数的0)
3.0.0 (作为浮点数的0)
4."0" (作为字符串的0)
5.NULL
6.FALSE
7.array() (一个空数组)
8.$var; (一个声明了,但是没有值的变量)

例子
<?php
$var = 0; // true
if (empty($var)) {
echo 'true, $var为空';
} // true
if (isset($var)) {
echo 'true, $var被设置过';
}
?>
由此可见,当判断一些变量的时候,不能一味的使用empty或者isset,应该根据实际的情况去使用,如:用户的昵称
如果用户的昵称就是0那你用empty判断不就出问题了嘛,但是如果用户的昵称为空字符串时,用isset判断也同样会有问题,
所以这种情况下就不能简单的用empty或者isset就进行判断。
PHP——isset和empty的更多相关文章
- composer "Illegal offset type in isset or empty"报错解决方案
		
最近更新了composer版本,即执行以下任一命令 composer selfupdate | composer self-update 再次执行 composer update -vvv 会出现“I ...
 - PHP判断变量是否存在及函数isset() 、empty()与is_null的区别
		
一.举例说明 A.如何判断一个变量是否定义? <?php // 假设不存在$test 变量 if (isset($test)) { echo '$test 已经set', '<br/> ...
 - PHP isset()与empty()的使用区别详解(转)
		
通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言.庞大的函数库支持着PHP语言功能的实现.下面我们为大家介绍有关PHP函数isset()与empty()的相关用法. PHP的 ...
 - isset 和empty 两个函数的用法
		
关于用php 获取当前脚本的url很多朋友会说很简单,但是要获取很详细的就要经过多次判断哦. $PHP_TIME = time();$PHP_SELF = isset($_SERVER['PHP_SE ...
 - isset和empty比较
		
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...
 - PHP isset()与empty()的使用区别详解
		
通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言.庞大的函数库支持着PHP语言功能的实现.下面我们为大家介绍有关PHP函数isset()与empty()的相关用法. PHP的is ...
 - PHP isset()与empty()的区别详解
		
通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言. 庞大的函数库支持着PHP语言功能的实现. 有关PHP函数isset()与empty()的相关用法. PHP的isset()函数 一 ...
 - 小函数,大智慧,php的isset和empty
		
Disset()函数 一般用来检测变量是否设置 bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: FALSE N ...
 - isset,empty,is_null小知识
		
<?php /** 在这项研究开始时,有那么多的人不能很好的运用isset,empty,is_null正确null,false等待值回报值做出正确的推理,在这里,我自己总结通过学习小知识,随后的 ...
 - 表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
		
原文:表单验证的3个函数ISSET().empty().is_numeric()的使用方法 本文就简单讲一下php中表单验证的三个函数,应该比较常用吧,最后给一些示例,请看下文. ISSET();—— ...
 
随机推荐
- Sublime text使用快捷键
			
作者:gyfnice链接:https://www.zhihu.com/question/24896283/answer/34327939来源:知乎著作权归作者所有,转载请联系作者获得授权. 代码片段 ...
 - Java 读书笔记 (十四) Java 方法
			
finalize() 方法 finalize() 用来清除回收对象. //为什么要回收内存?怎样写可以避免内存过多占用?什么时候需要手动回收内存? protected void finalize() ...
 - RabbitMQ 集群与网络分区(理论知识)
			
关于network partition网络设备故障导致的网络分裂.比如,存在A\B\C\D\E五个节点,A\B处于同一子网,B\C\D处于另外一子网,中间通过交换机相连.若两个子网间的交换机故障了即发 ...
 - JSON 的小技巧
			
有的时候上游传过来的字段是string类型的,但是我们却想用变成数字来使用. 本来用一个json:",string" 就可以支持了,如果不知道golang的这些小技巧,就要大费周章 ...
 - fasthttp 文档手册
			
fasthttp 文档手册 貌似文章有最大长度限制,完整全文地址:https://github.com/DavidCai1993/my-blog/issues/35 常量 const ( Compre ...
 - BZOJ_2764_[JLOI2011]基因补全_DP_高精度
			
BZOJ_2764_[JLOI2011]基因补全_DP_高精度 Description 在生物课中我们学过,碱基组成了DNA(脱氧核糖核酸),他们分别可以用大写字母A,C,T,G表示,其中A总与T配对 ...
 - BZOJ_2600_[Ioi2011]ricehub_二分答案
			
BZOJ_2600_[Ioi2011]ricehub_二分答案 Description 乡间有一条笔直而长的路称为“米道”.沿着这条米道上 R 块稻田,每块稻田的坐标均 为一个 1 到 L 之间(含 ...
 - 在Jenkins中使用sonar进行静态代码检查
			
要解决的问题 jenkins自动构建完成后,希望能通过sonar静态代码检查生成一份报告,给与开发人员对当前代码的做一个质量评估和修改意见 1.安装并配置sonar服务器 懒得说,跟着官方文档走就行, ...
 - 基于docker 如何部署surging分布式微服务引擎
			
1.前言 转眼间surging 开源已经有1年了,经过1年的打磨,surging已从最初在window 部署的分布式微服务框架,到现在的可以在docker部署利用rancher 进行服务编排的分布式微 ...
 - 浅谈surging服务引擎中的rabbitmq组件和容器化部署
			
1.前言 上个星期完成了surging 的0.9.0.1 更新工作,此版本通过nuget下载引擎组件,下载后,无需通过代码build集成,引擎会通过Sidecar模式自动扫描装配异构组件来构建服务引擎 ...