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.";
elseecho "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.";

  

转载于:https://www.cnblogs.com/xiangxiaodong/p/3434649.html

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

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

相关文章

Makefile中常见的错误信息

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 make 执行过程中所产生错误并不都是致命的&#xff0c;特别是在命令行之前存在 "-"、或者 make 使用 "-k" 选项执行时。 make 执行过程的致命错误都带有前缀字符…

Javascript中call函数和apply函数的使用

Javascript 中call函数和apply的使用&#xff1a; Javascript中的call函数和apply函数是对执行上下文进行切换&#xff0c;是将一个函数从当前执行的上下文切换到另一个对象中执行&#xff0c;例如&#xff1a; sourceObj.method.call(destObj,params1,params2) 是将sourceObj中…

Makefile隐含规则

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 隐含规则的含义 隐含规则&#xff0c;就是我们做出一些具体的操作后&#xff0c;系统自动推导完成。 编写 Makefile 的时候&#xff0c;可以使用隐含规则来简化Makefile 文件编写。 下…

WIN7 Wireshark: There are no interfaces on which a capture can be done

有的时候我们在Windows7的环境下使用Wireshark的时候&#xff0c;比如点击【Interface List】的时候&#xff0c;出现错误。 错误内容如下&#xff1a; There are no interfaces on which a capture can be done. 这个错误是因为系统没有启动NPF服务造成的。 解决的办法很简单&…

搭建wordpress开发环境

安装php PHP下载地址&#xff1a;http://windows.php.net/download/ 和MySQL一样&#xff0c;下载包是一个zip压缩包&#xff0c;只需解压缩即可。将它解压缩到 D:\WNMP\php-5.5.6-Win32-VC11-x64目录下: 配置php 将php.ini-production文件复制并重命名为php.ini&#xff0c;并…

GCC和CC的区别

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考博客&#xff1a;Difference Between GCC and CC Compiler - Ask Any Difference 参考博客&#xff1a;Linux新手学堂&#xff1a;CC与GCC的区别概括介绍 - Prayer - C博客 总结 1、作用 GCC和CC都是…

Leetcode Copy List with Random Pointer

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list. 对于这道题最开始用的是用一个数组存储新建的节点&#xff0c;然后对random的索引时比较快。 后来在…

sharepoint 2007页面显示真实的错误信息

打开下面path的web.config文件:C:\Program Files\Common Files\Microsoft Shared\Web ServerExtensions\12\TEMPLATE\LAYOUTS修改&#xff1a;<system.web>... <customErrors mode"Off" />...</system.web>如果没有就添加&#xff1a;<SharePoi…

Shell循环(for,while,until,break与continue)

以下内容源于C语言中文网的学习与整理&#xff0c;如有侵权&#xff0c;请告知删除。 一、for循环 for循环一般格式为&#xff1a; for 变量 in 列表 docommand1command2...commandN done 列表是一组值&#xff08;数字、字符串等&#xff09;组成的序列&#xff0c;每个值通过…

业界重磅新书《UNIX/Linux网络日志分析与流量监控》首发

《UNIX/Linux网络日志分析与流量监控》出版社官网&#xff1a; http://www.cmpbook.com/stackroom.php?id39384 每本图书附赠51CTO学院的价值100元学习卡一张京东&#xff1a;http://item.jd.com/11582561.html机械工业出版社在线购书平台&#xff1a;http://www.golden-book.…

Git工具使用基础

Git 是一个分布式的版本控制工具&#xff0c;本篇文章从介绍Git开始&#xff0c;重点在于介绍Git的基本命令和使用技巧&#xff0c;让你尝试使用Git的同时&#xff0c;体验到原来一个版 本控制工具可以对开发产生如此之多的影响&#xff0c;文章分为两部分&#xff0c;第一部分…

Shell case esac语句

以下内容源于C语言中文网的学习与整理&#xff0c;如有侵权&#xff0c;请告知删除。 case语句格式 case 值 in 模式1)command1command2command3;; 模式2&#xff09;command1command2command3;; *)command1command2command3;; esac 取值后面是关键字 in。取值可以为变量或常数…

Shell test命令

以下内容源于C语言中文网的学习与整理&#xff0c;如有侵权&#xff0c;请告知删除。 Shell中的 test 命令用于检查某个条件是否成立&#xff0c;它可以进行数值、字符和文件三个方面的测试。这其实相当于一个中括号&#xff1f; 一、数值测试 参数说明-eq等于则为真-ne不等于…

DDOS的攻击原理和防护指南

我们现在来分析DDOS的攻击原理。 首先&#xff0c;DDOS是英文Distributed Denial of Service的缩写&#xff0c;意思是分布式拒绝服务。拒绝服务又是什么意思呢&#xff1f;就是采取一些垃圾数据包来阻塞网站的网络通道&#xff0c;导致让网站不能正常访问。分布式服 务拒绝攻击…

Python基础笔记,后续更新

1,避免‘\n’等特殊字符的两种方式&#xff1a;1&#xff0c;利用转义字符‘\’2&#xff0c;利用原始字符‘r’ print rc:\now3,字符串中嵌入双引号等特殊符号1&#xff0c;利用转义字符‘\’2&#xff0c;使用单引号括起这个字符串 print (i l"o"ve fis.com)2…

.NET:如何让线程支持超时?

背景 本文是为了回复博客园一个兄弟的问题&#xff0c;主要回答两个问题&#xff1a; 如何让线程支持超时&#xff1f;如何让线程在执行结束后销毁&#xff1f;MS 现在不推荐使用低级别的 Thread 编程&#xff0c;而推荐使用 Task&#xff0c;另外我多数情况都是做企业应用&…

第1章 Express MongoDB 搭建多人博客

学习环境 Node.js &#xff1a; 0.10.22 Express &#xff1a; 3.4.4 MongoDB &#xff1a; 2.4.8 快速开始 安装 Express express 是 Node.js 上最流行的 Web 开发框架&#xff0c;正如他的名字一样&#xff0c;使用它我们可以快速的开发一个 Web 应用。我们用 express 来搭…

用UltraISO制作的u盘ubuntu11.04,启动失败解决方案

错误提示&#xff1a;SYSLINUX 3.84 2009-12-18 EBIOS Copyright c 1994-2009 H.Peter Anvin et al 折腾的很久&#xff0c;尝试用Pauly的bootice&#xff0c;结果可以从u盘启动了。 先用UltraISO制作好u盘ubuntu11.04。 下载bootice&#xff0c;把u盘插上去&#xff0c;打开软…

ATT汇编与Intel汇编区别

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 Linux 汇编语言开发指南 Intel 格式&#xff0d;&#xff0d;AT&T 格式_51CTO博客_at&t和intel汇编语法 前言 X86汇编语言有两种语法风格&#xff0c;即Intel汇编风格和AT&T汇编风格。…

Windows Phone 8初学者开发—第7部分:本地化应用程序

Windows Phone 8初学者开发—第7部分&#xff1a;本地化应用程序 原文 Windows Phone 8初学者开发—第7部分&#xff1a;本地化应用程序 第7部分:本地化应用程序 原文地址&#xff1a; http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Pa…