if ('jsddby' == 0) {
exit('123');
}这个为什么会成立呢?

解决方案 »

  1.   

    这个就是弱数据类型的特色了,
    他会将jsddby转换成为int类型 再和0比较,
    如果都是字母,转换成int肯定就是0了.
    所以0==0是成立的.
      

  2.   

    string 转为 int 都为 00==0 所以 true
      

  3.   

    之前还真没注意,php将数字与字符串比较时,会自动将字符串进行转型。//所以楼主这句相当于
    if (intval('jsddby') == 0) {
    exit('123');
    }
      

  4.   

    那字符串里面有数字呢?
    比如
    'sd123fd'==0
      

  5.   

    这个不会相等的..
    intval("sd123fd");
    输出123
      

  6.   

    答错了....
    要是 echo intval("123asd");
    输出就是123 
    如果是字母开头.输出就是0
      

  7.   

    如果你要返回false就用 === 这样会判断变量的类型