search

Home  >  Q&A  >  body text

php - 0 == 'ab' 好诡异的问题

PHP代码:
var_dump(0 == 'ab');
输出是true,为什马?我今天晕了么???????

大家讲道理大家讲道理2902 days ago476

reply all(7)I'll reply

  • 怪我咯

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

    请参考这个问题:php里,为什么0 == 'abc'是成立的?

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 13:14:12

    比较一个整数和字符串,则字符串会被转换为整数

    PHP手册上的原话。

    http://www.php.net/manual/zh/language...

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 13:14:12

    以字母或下划线开头的字符串,类型转换为整型时,转换为0.
    你试试var_dump(0 == '1ab');输出什么

    参考
    http://php.jz123.cn/language.types.ty...

    reply
    0
  • 阿神

    阿神2017-04-10 13:14:12

    著名的PHP 2B之处:用==进行判断,结果『可能』与你的预期相符。

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 13:14:12

    在无法确定数据类型的前提下进行数据比对。建议使用===绝对等于来进行验证。不过要注意其他条件,比如,GET、POST、COOKIE等数据,都是string类型。

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 13:14:12

    http://php.net/manual/zh/language.ope...
    PHP.net有说明的.

    这种情况必须使用===进行严格比较. 既比较类型,又比较值

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 13:14:12

    PHP是一个弱类型的语言

    请用===来判断0 == "ab"

    reply
    0
  • Cancelreply