V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
phpef
V2EX  ›  PHP

猜猜这几行 PHP 输出的结果

  •  
  •   phpef · Jun 25, 2015 · 2987 views
    This topic created in 3960 days ago, the information mentioned may be changed or developed.

    <?php
    $a='123';
    if($a==0)
    echo "xxx";
    else
    echo "yyy";

    Supplement 1  ·  Jun 25, 2015
    上面写错了,应该这么问?
    <?php
    $a='123abc';
    if($a==0)
    echo "xxx";
    else
    echo "yyy";
    13 replies    2015-06-29 16:23:40 +08:00
    sevenphp
        1
    sevenphp  
       Jun 25, 2015
    难道不是yyy?
    Athrob
        2
    Athrob  
       Jun 25, 2015
    难道不是xxx?
    hiboshi
        3
    hiboshi  
       Jun 25, 2015
    应该是xxx

    字符串和int 比较时候会转为 int 0
    jhdxr
        4
    jhdxr  
       Jun 25, 2015
    @Athrob
    @hiboshi 肯定是xxx啊,字符串和int比较会转为数字(相当于intval),所以是123和0比。你说的字符串和int比会变成0是因为大部分字符串不是以数字开头而已
    jhdxr
        5
    jhdxr  
       Jun 25, 2015
    手滑打错了。。。肯定是yyy。。。。不影响解释。。。
    hiboshi
        6
    hiboshi  
       Jun 25, 2015
    @jhdxr 没看清楚 字符串里面是123 而不是 abc 如果是abc会转换失败 123会直接 (int)123
    laoyuan
        7
    laoyuan  
       Jun 25, 2015   ❤️ 1
    $a='123abc';
    thanksir
        8
    thanksir  
       Jun 25, 2015
    yyy
    xuyl
        9
    xuyl  
       Jun 25, 2015 via Android
    php弱类型语言。==是大坑,false,null,'0',等与0比较都返回true,这能忍?用===吧
    hippoboy
        10
    hippoboy  
       Jun 25, 2015
    不用猜一定是yyy
    phpef
        11
    phpef  
    OP
       Jun 25, 2015
    写错了,应该这么问?
    <?php
    $a='123abc';
    if($a==0)
    echo "xxx";
    else
    echo "yyy";
    snailsir
        12
    snailsir  
       Jun 25, 2015
    跑一下不就得了。。。。。。yyy
    timsims
        13
    timsims  
       Jun 29, 2015
    不知道楼主到底想问什么。。

    上面已经有人说了字符串和数字比较会先把字符串变成转换成int
    '123abc' 就相当于 123
    要得出 xxx 那字符串要么是 0abc 要么是 abc123
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   994 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 19:23 · PVG 03:23 · LAX 12:23 · JFK 15:23
    ♥ Do have faith in what you're doing.