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. 洛谷 P1578 奶牛浴场 —— 最大子矩形

    题目:https://www.luogu.org/problemnew/show/P1578 枚举左边界,向右枚举右边界,同时不断限制上下边界,最后右边界是整个图的边界: 由于没有做左边界是整个图的边 ...

  2. registerWithTouchDispatcher 注册单点触摸事件

    Doc: If isTouchEnabled, this method is called onEnter. Override it to change the way CCLayer receive ...

  3. bzoj2144

    二分+lca 我们把向中间缩看成向上爬,向两边走看成向下爬,那么就相当于找出两个状态的lca,如果相邻的差是(a,b),a<b,那么向中间走就是(a,b-a)或(b-a,a),这个东西很像更相减 ...

  4. In-App Purchase Programming Guide----(四) ----Requesting Payment

    Requesting Payment In the second part of the purchase process, after the user has chosen to purchase ...

  5. k8s-helm-二十四

    一.介绍 Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理.可以把Helm比作CentOS的yum工具. yum不光要解决包之间的依赖关系,还要提供具体的程 ...

  6. bzoj 3667: Rabin-Miller算法【Miller-Rabin】

    Miller-Rabin模板 #include<iostream> #include<cstdio> #include<algorithm> using names ...

  7. bzoj 4551: [Tjoi2016&Heoi2016]树【并查集】

    看起来像是并查集,但是是拆集合,考虑时间倒流,先把标记都打上,然后把并查集做出来 每次到一个修改点就把这个点的计数s[u]--,当这个s为0时就把这个点和他的父亲合并(因为可能有多次标记) #incl ...

  8. P5154 数列游戏(区间dp)

    传送门 果然和dp有关的东西我绝对做不出来啊-- 设\(dp[i][j]\)表示消完区间\([i,j]\)中的数之后能得到的最大分数,如果消不完则为\(-inf\),否则枚举断点.顺便如果\(a[i] ...

  9. P5167 xtq的神笔

    传送门 题解 倍增也好二分也好,果然复杂度只要和\(\log\)插上关系就没我啥事了-- 首先由一个显而易见然而我完全没有发现的结论,设\(calc(l,r)\)表示区间\([l,r]\)的\(or\ ...

  10. Luogu P1417烹调方案【dp/背包】By cellur925

    题目传送门 我们看到这道题,就会想起背包.于是我就一顿01背包敲,结果发现只有30分.后来看题解发现需要对输入的食材进行排序. 我们回想国王游戏一题,各位大臣的排列顺序会对权值造成影响,所以我们就预先 ...