php比较问题

pody 2010-07-16 09:12:03
<?php
$a = "10";
$b = 10;
if ($a == $b) {
echo("a等于b");
} else {
echo("a不等于b");
}
?>

$a不是字符类型吗?为什么结果显示“a等于b”?
...全文
108 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pody 2010-07-18
知道了,谢啦,
  • 打赏
  • 举报
回复
jungle_java 2010-07-16
[Quote=引用楼主 hawkswujh 的回复:]
<?php
$a = "10";
$b = 10;
if ($a == $b) {
echo("a等于b");
} else {
echo("a不等于b");
}
?>

$a不是字符类型吗?为什么结果显示“a等于b”?
[/Quote]
修改为:
if ($a === $b) {
echo("a等于b");
} else {
echo("a不等于b");
}

就会打出“a不到呢关于b”了!弱类型语言啊!
  • 打赏
  • 举报
回复
nkluckyfire 2010-07-16
===
才检查数据类型匹配
  • 打赏
  • 举报
回复
jianglin28290 2010-07-16
===会判断类型
  • 打赏
  • 举报
回复
Dleno 2010-07-16
===
  • 打赏
  • 举报
回复
kyzy_yy_pm 2010-07-16
进行了自动类型转换,除非你用全等于(===),这样连他们的类型是否相同也进行了判断
  • 打赏
  • 举报
回复
pody 2010-07-16
是整型转换为字符型,还是字符型转换为整型?
  • 打赏
  • 举报
回复
amani11 2010-07-16

//呵呵,结果1,2都打印了
if(0 == 'A')
{
echo '1';
}
if('A' == 0)
{
echo '2';
}
  • 打赏
  • 举报
回复
blue44sky 2010-07-16
呵呵,因为PHP是弱类型语言。比较时他会自动转换类型的
  • 打赏
  • 举报
回复
Alfredknox 2010-07-16
PHP是弱类型语言啊 当用"=="时只比较值是否相等,如果改为"==="时要比较值和类型!所以你得到的是a等于b
  • 打赏
  • 举报
回复
lzq32 2010-07-16
PHP是弱类型语言,比较时他会自动转换类型的,就像他定义是不用定义类型一样
  • 打赏
  • 举报
回复
发帖
基础编程

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
帖子事件
创建了帖子
2010-07-16 09:12
社区公告
暂无公告