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

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

//output:该字符串转换为数字 等于零。

这是关键的一个例子:
手册上有解释:该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。 
也就是说 '3wang'==3 ; 'wang'==0 相当要注意!


//========= 判断 0 和 '' 以及 empty null false的关系 start =========//

$a
=0; if($a==''){ echo "0 等于 '' <br/>"; } //output:0 等于'' if(trim($a)==''){ echo "trim(0)等于'' <br/>"; } //no output if($a===''){ echo "0==='' <br/>"; } //no output if(empty($a)){ echo "'' is empty <br/>"; } //output:'' is empty if(is_null($a)){ echo "0 is null <br/>"; } //no output if(is_numeric($a)){ echo "0 is numeric <br/>"; } //output:0 is numeric if(is_string($a)){ echo "0 is string <br/>"; } //no output if(strval($a)==''){ echo "转换成字符串的0 is '' <br/>"; } //no output //========= 判断 0 和 '' 以及 empty null false的关系 end =========// //========= 判断 '' 和 0 以及 empty null false的关系 start =========// $b = ''; if($b==0){ echo "'' 等于 0 <br/>"; } //output:'' 等于 0 if(!''){ echo "'' 就是false <br/>"; } //output:'' 就是false if(!0){ echo "0 就是false <br/>"; } //output:0 就是false //========= 判断 '' 和 0 以及 empty null false的关系 end =========// echo "在判断空('')的时候一定要小心,0 也相当于'' ,0 和 '' 都相当于空字符和false,判断为空最好用==="; ?>
原文地址:https://www.cnblogs.com/zhongJaywang/p/5872277.html