2014-9-1
===全等于(不仅值相等,连变量类型也相等)
$a=3;
$b='3q';
if($a==$b)
{echo $a,'等于',$b;}
else{echo $a,'不等于',$b}
结果为3=3q
在不同类型比较时,php程序本身会把变量转换成一致的类型,然后再去比较。以下:
1.布尔值->字符串
2.字符串->数字
3.数字->布尔值
4.数字->字符串
以5==true比较为例,把整形5转成布尔值true
注意,负数转换为布尔型后也是true
/****
1.布尔值->字符串
true->'1'
false->''
2.字符串->数字
从字符串左端开始找数字,直到第一个非数字结束,取出来的这部分即是转换后的值
'3q'->3
'123abc456'->123
'fds789'->0
3.字符串->布尔
''字符串,'0'这种转换成false,其他一概是true,例如‘0.0’
4.数字->布尔
只有整型的0和浮点0.0转成false,其他甚至负数也转变为true
5.数字->字符串
原样输出
===全等于(不仅值相等,连变量类型也相等)
$a=3;
$b='3q';
if($a==$b)
{echo $a,'等于',$b;}
else{echo $a,'不等于',$b}
结果为3=3q
在不同类型比较时,php程序本身会把变量转换成一致的类型,然后再去比较。以下:
1.布尔值->字符串
2.字符串->数字
3.数字->布尔值
4.数字->字符串
以5==true比较为例,把整形5转成布尔值true
注意,负数转换为布尔型后也是true
/****
1.布尔值->字符串
true->'1'
false->''
2.字符串->数字
从字符串左端开始找数字,直到第一个非数字结束,取出来的这部分即是转换后的值
'3q'->3
'123abc456'->123
'fds789'->0
3.字符串->布尔
''字符串,'0'这种转换成false,其他一概是true,例如‘0.0’
4.数字->布尔
只有整型的0和浮点0.0转成false,其他甚至负数也转变为true
5.数字->字符串
原样输出