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

""的值相当于0,是empty,是空字符串,是false,不是null,不是数字字符串

null的值相当于空字符串,值相当于0,是empty,是false,不是字符串,不是数字0

"=="只要值相等就满足条件;  "==="需要两个变量的值和类型都相等;

strval();将变量转换为字符串类型;

intval();将变量转换为整型;

is_numeric();检测变量是否为数字或数字字符串,返回true或false;

 // 判断 0 与 ''、null、empty、false 之间的关系
$a = 0;
echo "0 与 ''、 empty、null、false 之间的关系:"; if($a == '')
{
echo "0 == '';";
}
else
{
echo "0 != '';";
} if(trim($a) == '')
{
echo "trim(0) == '';";
}
else
{
echo "trim(0) != '';";
} if(strval($a) == '')
{
echo "strval(0) == '';";
}
else
{
echo "strval(0) != '';";
}
//0=='',trim(0)!='',strval(0)!='' 不是空字符串 if($a === '')
{
echo "0 === '';";
}
else
{
echo "0 !=== '';";
}
//0!==='' if(empty($a))
{
echo "0 is empty;";
}
else
{
echo "0 is not empty;";
}
//0 is empty if(is_null($a))
{
echo "0 is null;";
}
else
{
echo "0 is not null;";
}
//0 is not null if(is_numeric($a))
{
echo "0 is numeric;";
}
else
{
echo "0 is not numeric;";
}
//0 is not numeric if(is_string($a))
{
echo "0 is string;";
}
else
{
echo "0 is not string;";
}
//0 is not string if(!$a)
{
echo "0 is false;";
}
else
{
echo "0 is not false;";
}
//0 is false // 判断 '' 和 0、null、empty、false 之间的关系
$a = '';
echo "'' 和 0、empty、null、false 之间的关系:";
if($a == 0)
{
echo "'' == 0;";
}
else
{
echo "'' != 0;";
} if(intval($a) == 0)
{
echo "intval('') == 0;";
}
else
{
echo "intval('') != 0;";
} if(empty($a))
{
echo "'' is empty;";
}
else
{
echo "'' is not empty;";
} if(is_null($a))
{
echo "'' is null;";
}
else
{
echo "'' is not null;";
} if(is_numeric($a))
{
echo "'' is numeric;";
}
else
{
echo "'' is not numeric;";
} if(is_string($a))
{
echo "'' is string;";
}
else
{
echo "'' is not string;";
} if(!$a)
{
echo "'' is false;";
}
else
{
echo "'' is not false;";
} // 判断 null 和 ''、0、empty、false 之间的关系
$a = null;
echo "null 和 ''、0、empty、false 之间的关系:";
if($a == '')
{
echo "null == '';";
}
else
{
echo "null != '';";
} if($a == 0)
{
echo "null == 0;";
}
else
{
echo "null != 0;";
} if($a === '')
{
echo "null === '';";
}
else
{
echo "null !=== '';";
} if($a === 0)
{
echo "null === 0;";
}
else
{
echo "null !=== 0;";
} if(strval($a) == '')
{
echo "strval(null) == '';";
}
else
{
echo "strval(null) != '';";
} if(intval($a) == 0)
{
echo "intval(null) == 0;";
}
else
{
echo "intval(null) != 0;";
} if(empty($a))
{
echo "null is empty;";
}
else
{
echo "null is not empty;";
} if(is_numeric($a))
{
echo "null is numeric;";
}
else
{
echo "null is not numeric;";
} if(is_string($a))
{
echo "null is string;";
}
else
{
echo "null is not string;";
} if(!$a)
{
echo "null is false;";
}
else
{
echo "null is not false;";
}

PHP 中空字符串介绍0、null、empty和false之间的关系的更多相关文章

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

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

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

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

  3. php 0,null,empty,空,false,字符串关系(转)

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

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

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

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

    原文来自:http://www.seayee.net/article/info_115.html

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

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

  7. block(代码块)的介绍以及使用方法和变量之间的关系

    http://blog.csdn.net/menxu_work/article/details/8762848 block(代码块)的介绍以及使用方法和变量之间的关系 block(代码块)的介绍以及使 ...

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

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

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

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

随机推荐

  1. AES加密算法(C++实现,附源码)

    原创作品,转载请注明出自xelz's blog 博客地址:http://mingcn.cnblogs.com/ 本文地址:http://mingcn.cnblogs.com/archive/2010/ ...

  2. nodejs URL 详解

    1 我们可以使用.parse方法来将一个URL字符串转换为URL对象 例如: url.parse('http://user:pass@host.com:8080/p/a/t/h?query=strin ...

  3. vs2008打开类视图,看不到类的解决方法

    去工程文件中删除ncb文件,重新打开工程

  4. C#面向对象之数据库(理论、插入、修改、删除、查询)

    1.数据库的作用:不仅仅是存储,更重要的是将数据进行存储以后怎么样才能方便快捷的查询修改 2.数据库的特点:海量存储.查找速度快.并发性问题控制.安全性.数据完整性(保存在数据库中的数据是正确的.真是 ...

  5. CodeForces 712A Memory and Crow (水题)

    题意:有一个序列,然后对每一个进行ai = bi - bi + 1 + bi + 2 - bi + 3.... 的操作,最后得到了a 序列,给定 a 序列,求原序列. 析:很容易看出来,bi = ai ...

  6. 游戏服务端pomelo安装配置

    一.安装环境 Linux Ubantu 二.安装需要的组件 1.安装nodejs 注:debian下nodejs没有相应的apt包,所以无法用apt-get安装,只能通过nodejs的源码包安装, 这 ...

  7. EOJ3247:铁路修复计划

    传送门 题意 分析 这题用二分做就好啦,有点卡常数,改了几下for的次数 套了个板子,连最小生成树都忘记了QAQ trick 代码 #include<cstdio> #include< ...

  8. 51nod 1596 搬货物(二进制处理)

    传送门 题意 分析 只要从小到大二进制处理即可 我一直遍历了1->n,应该是0->1e6+1000 果然智障 trick 代码 #include<cstdio> #includ ...

  9. python 类装饰器

    class Test(): def __init__(self, func): print('装饰器1') self.__func = func def __call__(self): print(' ...

  10. bzoj 4622: [NOI 2003] 智破连环阵【dfs+匈牙利算法】

    一个炸弹炸一个区间的武器,想到二分图匹配 但是直接dfs断点显然不行,预处理出dis[i]为i到m的至多值来最优性剪枝,并且标记ok[i][j]为炸弹i可以炸到j武器,mx[i][j]为i炸弹从j武器 ...