在php中由于是弱类型语言,不同类型值之间可以隐式转换,使得false,null,”,0,’0′这几个值的比较有些混乱,现总结一下:

//相等判断

'' == NULL == 0 == false (相等)
array() = 0 == NULL == false (相等)
array() <> '' (不相等)

//恒等判断
//任何两个数比较都不恒等

var_dump(false == FALSE); //bool(true)
var_dump(false === FALSE); //bool(true)
var_dump(true == TRUE); //bool(true)
var_dump(true === TRUE); //bool(true)
var_dump('' == NULL); //bool(true)
var_dump('' === NULL); //bool(false)
var_dump('' == 0); //bool(true)
var_dump('' === 0); //bool(false)
var_dump('' == false); //bool(true)
var_dump('' === false); //bool(false)
var_dump('' == true); //bool(false)
var_dump('' === true); //bool(false)
var_dump(null == 0); //bool(true)
var_dump(null === 0); //bool(false)
var_dump(null == false); //bool(true)
var_dump(null === false); //bool(false)
var_dump(null == true); //bool(false)
var_dump(null === true); //bool(false)
var_dump(0 == false); //bool(true)
var_dump(0 === false); //bool(false)
var_dump(0 == true); //bool(false)
var_dump(0 === true); //bool(false)
 

//对true的一些判断

var_dump('1' == true); //bool(true)
var_dump('1' === true); //bool(false)
var_dump(1 == true); //bool(true)
var_dump(1 === true); //bool(false)
var_dump(array() == true); //bool(false)
var_dump(array() === true); //bool(false)
//array()比较

var_dump(array() == ''); //bool(false)
var_dump(array() === ''); //bool(false)
var_dump(array() == NULL); //bool(true)
var_dump(array() === NULL); //bool(false)
var_dump(array() == 0); //bool(false)
var_dump(array() === 0); //bool(false)
var_dump(array() == false); //bool(true)
var_dump(array() === false); //bool(false)
var_dump(array() == true); //bool(false)
var_dump(array() === true); //bool(false)
//恒等比较

var_dump(0 === '0'); //bool(false)
var_dump(0 === 00); //bool(true)
var_dump(00 === intval('0')); //bool(true)

php 0,null,empty,空,false,字符串关系(转)的更多相关文章

  1. 0,null,empty,空,false,isset

    <?php header("Content-type: text/html; charset=utf-8"); $a=0; //1. if($a==0) { echo $a; ...

  2. PHP中空字符串介绍0、null、empty和false之间的关系

    PHP中空字符串介绍0.null.empty和false之间的关系 作者: 字体:[增加 减小] 类型:转载 时间:2012-09-25   用PHP开发那么久,PHP中空字符串.0.null.emp ...

  3. PHP 中空字符串介绍0、null、empty和false之间的关系

    0是数字,是empty,是false,不是null,值相当于空字符串,但类型不是字符串,去空格或强制转换为字符串型时不等于空字符串 ""的值相当于0,是empty,是空字符串,是f ...

  4. php 0、null、empty和false之间的关系

    // 判断 0 与 ''.null.empty.false 之间的关系 $a = 0; echo "0 与 ''. empty.null.false 之间的关系:"; if($a ...

  5. 判断 0 和 '' 以及 empty null false的关系

    if('safdasefasefasf'==0) { echo "该字符串转换为数字 等于 0 <br/>"; } //output:该字符串转换为数字 等于零. 这是 ...

  6. 关于JavaScript中0、空字符串、'0'是true还是false的总结

    最近被问到关于js中空字符串是true还是false得问题,一时间没想起来,现在在chrome的console面板上输出代码测试一下. "" == false 结果是true    ...

  7. php——字符串的""和null,empty的关系

    public function test(){ $test = ""; if($test==null){ echo "test==null <hr>" ...

  8. 0,null,undefined,[],{},'',false之间的关系

    0与一些虚值的比较: 0与false 0==false true 0与'': =='' true 0与[]: ==[] true 0与NaN: 0==NaN false 0与undefined 0== ...

  9. php中0," ",null和false的区别

    php中很多还不懂php中0,"",null和false之间的区别,这些区别有时会影响到数据判断的正确性和安全性,给程序的测试运行造成很多麻烦.先看一个例子: <? $str ...

随机推荐

  1. [原创]PM2使nodejs应用随系统启动

    1.安装 npm install pm2 -gd 2.启动 pm2 start ./bin/www 3.pm2 save 4.pm2 startup 5.pm2 save 注:上面几个步骤有几个坑: ...

  2. href标签中target的几个属性值

    没有指定<a>的target属性值时,默认是"_blank,可以参考以下代码的设置来控制<a href="#" target="_blank& ...

  3. Android读写文件

    1.从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写) String res = ""; try{ InputStream in = getResour ...

  4. 编程领域中的 "transparent" 和 "opaque"

    引言 在学习计算机的过程中,经常会接触到 “透明” 和 “非透明” 的概念. 刚开始理解 “透明” 这个概念的时候,认为 “透明” 就是程序员可以看见其中的构造,但是老师却说透明是程序员意识不到其中的 ...

  5. PHP第一节课

    基础语法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  6. id和class命名规范

  7. PHP AES cbc模式 pkcs7 128加密解密

    今天在对接一个第三方接口的时候,对方需要AES CBC模式下的加密.这里简单写一个demo class Model_Junjingbao extends Model { private static ...

  8. Python中的特殊方法:__call__

    本文结构: 1.__call__方法 2.callable():判断对象/函数能否被调用 3.举例:斐波那契数列类 1.__call__方法 一个对象实例可以有自己的属性和方法,当我们调用实例方法时, ...

  9. Python中字符串操作函数string.split('str1')和string.join(ls)

    Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换, 使用 .split()可以将字符串中特定部分以多个字符的形式,存储成列表 def split(self, * ...

  10. js对对象的校验技巧,随时更新

    js中,字符串长度用length. 若不确定一个Map里,是否存在某个对象,则用underfind 去校验