if('safdasefasefasf'==0) { echo "该字符串转换为数字 等于 0 <br/>"; } //output:该字符串转换为数字 等于零. 这是关键的一个例子:手册上有解释:该值由字符串最前面的部分决定.如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零).  也就是说 '3wang'==3 ; 'wang'==0 相当要注意! //========= 判断 0 和 '' 以及 empty null false的关系 start…
在php中由于是弱类型语言,不同类型值之间可以隐式转换,使得false,null,”,0,’0′这几个值的比较有些混乱,现总结一下: //相等判断 '' == NULL == 0 == false (相等)array() = 0 == NULL == false (相等)array() <> '' (不相等) //恒等判断//任何两个数比较都不恒等 var_dump(false == FALSE); //bool(true)var_dump(false === FALSE); //bool(t…
// 判断 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) != ''…
最近项目中,遇到一个字段是 “是否启用”值为0,1 在查询时没想就写了 if ( isset($args_array['useFlg']) && !empty($args_array['useFlg']) ) { ..... } 于是查不到为0的时候,想了一下,应该是0是被认为是空.应该这样: if ( isset($args_array['useFlg']) && in_array($args_array['useFlg'] , array(0,1)) ) { .....…
PHP中空字符串介绍0.null.empty和false之间的关系 作者: 字体:[增加 减小] 类型:转载 时间:2012-09-25   用PHP开发那么久,PHP中空字符串.0.null.empty和false之间的关系总是有些不确定的东西.遇到它们应该用哪个方法函数去处理   如果用错方法函数或是用少了,如果几个方法函数的逻辑顺序错了,很可能就是一个漏洞,而且不容易找出来.纠结啊~ 上网找找看哪位高人有总结出相关的结论出来,果然有!不过似乎不是很全面,我在这里稍完善了一下,仅供参考. 复…
0是数字,是empty,是false,不是null,值相当于空字符串,但类型不是字符串,去空格或强制转换为字符串型时不等于空字符串 ""的值相当于0,是empty,是空字符串,是false,不是null,不是数字字符串 null的值相当于空字符串,值相当于0,是empty,是false,不是字符串,不是数字0 "=="只要值相等就满足条件: "==="需要两个变量的值和类型都相等: strval();将变量转换为字符串类型: intval();将…
<?php header("Content-type: text/html; charset=utf-8"); $a=0; //1. if($a==0) { echo $a; }else { echo "不等0"; } echo "<hr>"; //2.变量$a等0不为真 if($a) { echo $a; }else { echo "不等0"; } echo "<hr>";…
php中很多人还不懂php中 0 , '' , null 和 false 之间的区别,这些区别有时会影响到数据判断的正确性和安全性,给程序的测试运行造成很多麻烦.另外在面试题中也会遇到这些问题,如下: <?php $str1 = null; $str2 = false; echo $str1==$str2 ? '相等' : '不相等'; $str3 = ""; $str4 = 0; echo $str3==$str4 ? '相等' : '不相等'; $str5 = 0; $str…
if ( (int) $number == 0) echo 'empty'; if ( floatval($number) == 0 ) echo 'empty' 首先,PHP 认为 0.0 是空,同理 0.00 和 0.000 也会被等同 0.0 一样被认为是空,所以 empty 将返回 true 来表达 PHP 的规则. 但是,在 PHP 的世界里,'0.0'.'0.00'和'0.000'并不被认为是空,所以 empty 将返回 false. 因而,楼主说的“优雅判断 0.0/0.00/0.…
<?php $test=0; if($test==''){ echo '<br />在php中,0即为空'; //被输出 } if($test===''){ echo '<br />在php中,0即为空'; //不被输出 } if($test==NULL){ echo '<br />在php中,0即为空'; //被输出 } if($test===NULL){ echo '<br />在php中,0即为空'; //不被输出 } if($test==fal…