手机
当前位置:查字典教程网 >编程开发 >php教程 >php中0,null,empty,空,false,字符串关系的详细介绍
php中0,null,empty,空,false,字符串关系的详细介绍
摘要:在一个项目中遇到了一个奇怪的问题,耗费了我不少时间都没有解决,最终调试发现是判断的问题—-关于0和‘‘(空单引号,为好看清我加了个空格)的判...

在一个项目中遇到了一个奇怪的问题,耗费了我不少时间都没有解决,最终调试发现是判断的问题—-关于0和 ‘ ‘ (空单引号,为好看清我加了个空格)的判断,我发现 0==” 居然成立,郁闷的同时决定写个简单页面测试,发誓要将0,null,empty,空,false的关系搞的一清二楚。因为这很可能在一些关键地方使我们编写的程序,网站存在bug。特别是可能影响到登陆等特殊地方的安全性和逻辑正确性,虽然这是很基础的知识点,但很多人,包括一些高手都可能对0,null,empty,空,false的关系很模糊。所以自己动手做一个测试还是很需要的。

php程序代码:

复制代码 代码如下:

<?php

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

if('safdasefasefasf'==0){

echo "该字符串转换为数字 等于 0 <br/>";

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

这是关键的一个例子

手册上有解释:该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。

也就是说 '3asfdf'==3 ; 'adsfasdf'==0 相当要注意

$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,判断为空最好用===";

?>

输出的结果是: 0 等于 ” ” is empty 0 is numeric ” 等于 0 ” 就是false 0 就是false 在判断空(”)的时候一定要小心,0 也相当于” ,0 和 ” 都相当于空字符和false,判断为空最好用=== 只能这样解释:0 也相当于 ” ,0 和 ” 都相当于空字符和false

在判断空(”)的时候一定要小心,0 也相当于 ” ,0 和 ” 都相当于空字符和false,判断为空最好用===;

【php中0,null,empty,空,false,字符串关系的详细介绍】相关文章:

PHP ASCII码与字符串的相互转换

php比较相似字符串的方法

php支持中文字符串分割的函数

支持中文的PHP按字符串长度分割成数组代码

php解析字符串里所有URL地址的方法

php按单词截取字符串的方法

PHP中的命名空间详细介绍

PHP二进制与字符串之间的相互转换

用PHP来写记数器(详细介绍)

PHP模板引擎smarty详细介绍

精品推荐
分类导航