isset、empty、var==null、is_null、var===null详细理解
//isset: 判断变量是否被初始化
//它并不会判断变量是否为空,并且可能用来判断数组中元素是否被定义
//听说在数组用isset与array_key_exists高出4倍
$a = "";
$ar['c'] = "";
if(!isset($a)){
echo '$a not isset\r\n';
}else{
echo '$a isset\r\n';
}
if(!isset($b)){
echo '$b not isset\r\n';
}else{
echo '$b isset\r\n';
}
if(isset($ar['c'])){
echo "ar[c] isset";
}
echo "<BR><BR>"; //empty功能:检测变量是否为"空"
//任何一个未初始化的变量,值为0或false 或空字符串"" 或null的变量,空数组,没有任何属性的对象,都将判断为empty==true
//1 未初始化的变量也能被empty检测为"空"
//2 empty()只能检测变量,而不能检测语句
$a = "";
$b = 0;
$c = array();
$d = false;
if(empty($a)) echo "var a is empty.";
if(empty($b)) echo "var b is empty.";
if(empty($c)) echo "var c is empty.";
if(empty($d)) echo "var d is empty.";
if(empty($e)) echo "var e is empty.";
echo "<BR><BR>"; //var == null 功能:判断变量是否为"空"
//说明:值为0或者false或空字符串""或null的变量,空数组,都将判断为null
//与empty的显著不同就是:变量未初始化时var == null将会报错
$a = '';
$b = false;
$d = 0;
if($a==null) echo "var a is null.";
if($b==null) echo "var b is null.";
if($d==null) echo "var d is null.";
//if($e==null) echo "var e is null.";//会报错 //is_null功能:检测变量是否为"null"
//当变量被赋值为"null"时,检测结果为true
//1 null不区分大小写
//2 仅在变量的值为null时,检测结果才为true,0、空字符串、false、空数组都检测为false
echo "<BR><BR>";
$a = 0;
if(is_null($a))
echo "var a is null.";
else
echo "var a is not null."; //var ===null功能:检测变量是否为"null",同时变量的类型也必须是"null"
//当变量被赋值为null时,同时变量类型也是null时,检测结果为true
//在判断为null时,全等于和is_null的作用相同
//变量未初始化时,程序将报错
echo "<BR><BR>";
$a = null;
if($a===null) echo "var a is null.";
isset、empty、var==null、is_null、var===null详细理解的更多相关文章
- php中函数 isset(), empty(), is_null() 的区别,boolean类型和string类型的false判断
php中函数 isset(), empty(), is_null() 的区别,boolean类型和string类型的false判断 实际需求:把sphinx返回的结果放到ssdb缓存里,要考虑到sph ...
- isset ,empty,is_null 区别
<?php $a = ''; $b = ""; $c = null; $d = array(); $e = ' '; $f = 0; $g = "0"; ...
- PHP isset() empty() isnull() 的区别
<? isset - 检测变量是否设置 注意: isset 检测变量是否设置,并且不是 NULL. 若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE: empty ...
- 一张图理解is_nll isset empty
isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返回 FALSE. empty 判断变量是否为空,如果变量是非空 或非零 的值,则 empty() 返回 FALSE.换句话说,&qu ...
- php isset() empty() 区别, 判断 变量存在与否神器
先看PHP手册: bool empty ( mixed $var ) 判断一个变量是否被认为是空的.当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在.如果变量不存在的话,empty ...
- com.opensymphony.xwork2.ognl.OgnlValueStack] - target is null for setProperty(null, "emailTypeNo", [Ljava.lang.String;@6f205e]
情况1,查询结果未转换为与前台交互的实体类DTO 实体类:EmailTypeDto package com.manage.email.dto; public class EmailTypeDto { ...
- 常见类型,isset(),empty()判断
<?php $a = NULL; var_dump($a); //NULL,[false],true var_dump(isset($a)); var_dump ...
- [PHP基础]有关isset empty 函数的面试题
用isset()和empty()判断下面的变量. $str = ''; $int = 0 ; $arr = array(); isset($str) 返回的是 true 还是 false empty( ...
- MyDAL - is null && is not null 条件 使用
索引: 目录索引 一.API 列表 C# 代码中 instance.property == null 生成 SQL 对应的 is null : 如:.Queryer<Agent>() .. ...
随机推荐
- [转]php使用 memcache 来存储 session
转自:http://koda.iteye.com/blog/466667 Memcache和PHP memcach扩展安装请见http://koda.iteye.com/blog/665761 设置s ...
- [转]如何将PHP作为Shell脚本语言使用
From : http://www.linuxfly.org/post/559/ 我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短……).但是只有很少数的人意识到PHP也可以很好 ...
- Effective Java - Item 1: Consider static factory methods instead of constructors
考虑使用静态工厂方法来替代构造方法, 这样的做的好处有四点. 1. 更好的表意 有的构造方法实际上有特殊的含义, 使用静态工厂方法能更好的表达出他的意思. 例如 BigInteger(int, int ...
- Zookeeper Tutorial 2 -- Programmer's Guide
数据模型 ZooKeeper跟分布式文件系统一样, 有一系列的命名空间. 唯一不同的地方是命名空间中的每个节点都有数据和他相关联. 它类似于一个允许文件同时是一个目录的文件系统. 节点的路径永远是以斜 ...
- ASP.NET MVC:WebPageBase.cs
ylbtech-funcation-Utility: ASP.NET MVC:WebPageBase.cs 充当表示 ASP.NET Razor 页的类的基类. 1.A,WebPageBase 抽象类 ...
- 使用TortoiseSVN的客户端钩子脚本触发Jenkins构建
我们项目在开发过程中使用了Jenkins构建Windows版本,为了通过自动触发使构建的版本保持最新,可以采用的方法如下: Jenkins Poll SCM:设置Jenkins定时检查变更,在SVN版 ...
- 【BLE】CC2541之发现服务与特征值
一.简介 本文以SimpleBLECentral工程为例,解析CC2541作为主机时是如何发现从机的服务和特征值的. 二.实验平台 协议栈版本:BLE-CC254x-1.4.0 编译软件:IAR 8. ...
- CentOS7安装openjdk、tomcat和mysql流程介绍
首先是前戏,推荐一个远程工具Xshell和Xftp搭配使用,以下是Xshell的官网 http://www.netsarang.com/products/xsh_overview.html 1.ope ...
- 优化MySQL开启skip-name-resolve参数时显示“ignored in --skip-name-resolve mode.”Warning解决方法
转自:http://blog.csdn.net/yiluoak_47/article/details/53381282 参数用途: skip-name-resolve #禁止MySQL对外部连接进行D ...
- Android 基本 Jackson Marshalling(serialize)/Unmarshalling(deserialize)
本文内容 基本 Jack Marshalling 忽略属性 忽略 Null 字段 改变字段名字 基本 Jackson Marshalling 把 JSON 解析成 JsonNode Unmarshal ...