<?php
$a = "10";
$b = 10;
if ($a == $b) {
echo("a等于b");
} else {
echo("a不等于b");
}
?>$a不是字符类型吗?为什么结果显示“a等于b”?

解决方案 »

  1.   

    呵呵,因为PHP是弱类型语言。比较时他会自动转换类型的
      

  2.   


    //呵呵,结果1,2都打印了
    if(0 == 'A')
    {
    echo '1';
    }
    if('A' == 0)
    {
    echo '2';
    }
      

  3.   

     修改为:
    if ($a === $b) {
    echo("a等于b");
    } else {
    echo("a不等于b");
    }就会打出“a不到呢关于b”了!弱类型语言啊!
      

  4.   

    PHP是弱类型语言,比较时他会自动转换类型的,就像他定义是不用定义类型一样
      

  5.   

    PHP是弱类型语言啊 当用"=="时只比较值是否相等,如果改为"==="时要比较值和类型!所以你得到的是a等于b