先来测试一下吧:

if(0 ==''){
echo '<br/>在PHP中0 ==\'\'' ;
}
if(0 !==''){
echo '<br/>在PHP中0 !==\'\'' ;
} if(0 ==false){
echo '<br/>在PHP中0 ==false' ;
}
if(0 !==false){
echo '<br/>在PHP中0 !==false' ;
} if(0 ==null){
echo '<br/>在PHP中0 ==null' ;
}
if(0 !==null){
echo '<br/>在PHP中0 !==null' ;
}
if(false ==null){
echo '<br/>在PHP中false == null' ;
}
if(false !==null){
echo '<br/>在PHP中0 false !==null' ;

结果:

看到一篇文章这样解释的:

原因是在PHP中变量是以C语言的结构体来存储的空字符串和NULL,false都是以值为0存储的,其中这个结构体有个zend_uchar type;这样的成员变量,他是用来保存变量的类型的,而空字符串的类型是string,NULL的类型是NULL,false是boolean。

这一点可以用echo gettype('');和echo gettype(NULL);来打印看看!而===运算符是不单比较值,还有比较类型的,所以第在比较类型时为false

PHP中 null ,false , 区别的更多相关文章

  1. js 中null,undefined区别

    首先摘自阮一峰先生的文章: 大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil. 有点奇 ...

  2. 空字符串‘’ null false 区别

    1.''空字符串 .null 和false都是以值为0来存储的   只是数据结构不一致而已 空字符串------字符串数据格式 null -----------null数据格式 false ----- ...

  3. PHP中NULL和‘'的区别

    PHP中NULL和‘'区别 null的类型是null,""的类型是string 所以是不同东西 <pre>$a=22;unset($a);var_dump($a);&l ...

  4. (基础篇) php中0与空 Null false的区别

    <?php $test=0; if($test==''){ echo '<br />在php中,0即为空'; //被输出 } if($test===''){ echo '<br ...

  5. php中0与空 Null false的区别

    <?php $test=0; if($test==''){  echo '<br />在php中,0即为空'; //被输出 } if($test===''){  echo '< ...

  6. JavaScript中undefined与null的区别

    通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值.Javascript会自动将声明是没有进行初始化的变量设为undifined. 如果一个变量根本不存在会 ...

  7. .NET和SQL Server中“空值”辨析 (DBNull与Null的区别)

    对表进行插入操作,如datetime和int类型的两个字段,都允许为null,用“sqlcmd.Parameters.Add("@t12",tb12.Text)”参数绑定时.dat ...

  8. JS中NULL和undifined区别及NULL的作用

    1.博客地址:http://www.cnblogs.com/eastday/archive/2010/03/03/1677324.html 2.参考地址2:https://www.zhihu.com/ ...

  9. 【转】JavaScript中undefined与null的区别

    通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值.Javascript会自动将声明是没有进行初始化的变量设为undifined. 如果一个变量根本不存在会 ...

随机推荐

  1. bisect模块用于插入

    参考链接: chttp://www.cnblogs.com/skydesign/archive/2011/09/02/2163592.html水

  2. gradle 安装试用

    1. java 环境(jdk 6 以上,最好使用8以及以上) yum install -y java-1.8.0-openjdk-devel 2. 基本配置 // path 路径 export PAT ...

  3. bzoj 3501 PA2008 Cliquers Strike Back——贝尔数

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3501 用贝尔三角形 p^2 地预处理 p 以内的贝尔数.可以模(mod-1)(它是每个分解下 ...

  4. RelativeLayout里的gravity不能居中的解决方法

    最近在遇到RelativeLayout里的gravity属性给它复制center_horizontal或者center都不能居中它的子组件,后来找到了替代方法,只要在它的每个子组件里加上android ...

  5. 七、Jmeter + ant + jenkins轻量级接口自动化测试

    七.Jmeter + ant + jenkins轻量级接口自动化测试 杀猪不用牛刀,工具没有牛逼高大尚之分,每个工具都有存在的理由:关键是看会不会用,怎么用,有没有用在合适的地方. 需要安装的工具: ...

  6. Verilog-2001新增特性

    l generate语句 Verilog-2001添加了generate循环,允许产生 module和primitive的多个实例化,同时也可以产生多个variable,net,task,functi ...

  7. linux下通过sysfs操作GPIO

    linux下通过sysfs操作GPIO 在嵌入式设备中对GPIO的操作是最基本的操作.一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的.其实linux下面有一个通用的GPIO操作接口,那就是 ...

  8. (转)WebApi发送HTML表单数据:文件上传与多部分MIME

    5.3 Sending HTML Form Data5.3 发送HTML表单数据(2) 本文引自:http://www.cnblogs.com/r01cn/archive/2012/12/20/282 ...

  9. mysql事务之一:MySQL数据库事务隔离级别(Transaction Isolation Level)及锁的实现原理

    一.数据库隔离级别 数据库隔离级别有四种,应用<高性能mysql>一书中的说明: 然后说说修改事务隔离级别的方法: 1.全局修改,修改mysql.ini配置文件,在最后加上 1 #可选参数 ...

  10. 启用不安全的HTTP方法解决方案

    启用不安全的HTTP方法解决方案 Web AppScan HTTP WebDAV 近期通过APPScan扫描程序,发现了不少安全问题,通过大量查阅和尝试最终还是解决掉了,于是整理了一下方便查阅. 1. ...