cari

Rumah  >  Soal Jawab  >  teks badan

php里,为什么0 == 'abc'是成立的?

0==''是成立的我倒是明白,
0=='abc'也成立就不懂了,请各位指教!

大家讲道理大家讲道理2897 hari yang lalu587

membalas semua(4)saya akan balas

  • PHP中文网

    PHP中文网2017-04-10 13:14:06

    啊哈,前两天正好看了相关的文章,这是因为你的是一个数字和一个字符串进行比较,PHP会把字符串转换成数字再进行比较
    PHP转换的规则的是:若字符串以数字开头,则取开头数字作为转换结果,若无则输出0
    例如:123abc转换后应该是123,而abc则为00==0这当然是成立的啦!
    具体可以参考官方手册:如果比较一个整数和字符串,则字符串会被转换为整数。
    PS: @gaosboy 讲的'00'=='000'则是两个字符串的比较,官方手册也有解释。

    balas
    0
  • 怪我咯

    怪我咯2017-04-10 13:14:06

    $a = 'abc';
    $b = (int)$a;
    echo $b;
    if(0 == $b){
        //成立
    }

    执行一下你就知道了

    balas
    0
  • PHPz

    PHPz2017-04-10 13:14:06

    看到这里,觉得是时候仔细看看php手册了~~~

    balas
    0
  • 怪我咯

    怪我咯2017-04-10 13:14:06

    考考大家,不做测试,直接说出var_dump(count('abcde'))的打印结果是什么

    balas
    0
  • Batalbalas