为了账号安全,请及时绑定邮箱和手机立即绑定

将$b="1" 改成 $b=1   var_dump($a==$b)  为什么两个整形的比较,输出的结果还是bool类型呢?

正在回答

3 回答

var_dump($a == $b);$a == $b;这人表达式的比较结果要么是 true ,要么是false;也就是说,表达式比较的结果就是布尔型,所以 var_dump($a == $b)返回的值是bool类型。。

0 回复 有任何疑惑可以回复我~

计算机也可以用1代表“真”,0代表“假”,我理解为两个整形数值比较,结果类型也为整形,这种应该是错的;

同时,var_dump()是输出变量类型和长度,是否可以理解为,如果是var_dump(比较运算),不管参与比较运算的两个的类型类型是否一致,只要是有比较的统一输出为bool类型。

1 回复 有任何疑惑可以回复我~
#1

银鳞

是的,比较语句的结果就是布尔类型,要么相等要么不等,不会变成别的类型,值为true或者false
2014-08-15 回复 有任何疑惑可以回复我~

比较运算,只有两个结果,一种是真的,一种是假的,原本$a=1,$b="1",数值是一样,但是类型不一样,$a里面的是整型,$b里面的是字符串,所以var_dump($a==$b)返回是真,如果var_dump($a===$b),记得是三个等于号(需要是数值和类型都一样),那返回值就是假,$b改成了 $b=1 ,那这两者的数据类型是一样的,数值也是一样的,所以返回值是真,如果是var_dump($a===$b),返回结果也是真.

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP入门篇
  • 参与学习       456041    人
  • 解答问题       6307    个

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

进入课程
意见反馈 帮助中心 APP下载
官方微信