V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
j0hnj
V2EX  ›  PHP

大家猜猜这句 PHP 的结果是啥

  •  
  •   j0hnj · 2018-01-24 12:19:32 +08:00 · 2366 次点击
    这是一个创建于 2503 天前的主题,其中的信息可能已经有所发展或是发生改变。
    $a = $b = $c = 0;
    
    if ($a = 1 || $b = 2 && $c = 3){
        var_dump($a, $b, $c);
    }
    

    选项
    A: 报错
    B: int(0), int(2), int(3)
    C: bool(true), int(0), int(0)
    D: 其他

    参考链接

    6 条回复    2018-01-29 22:25:37 +08:00
    slince
        1
    slince  
       2018-01-24 12:24:40 +08:00
    $a = (1 || $b = 2 && $c = 3) )
    true 0 0
    Mitt
        2
    Mitt  
       2018-01-24 12:29:20 +08:00
    代码水平问题 这种智力题还是少发吧
    killeryang
        3
    killeryang  
       2018-01-24 12:29:36 +08:00
    1 0 0
    whileFalse
        4
    whileFalse  
       2018-01-24 15:28:30 +08:00
    结果是写这个代码的程序员被其 leader 臭骂一顿
    savasun
        5
    savasun  
       2018-01-26 09:18:22 +08:00
    C
    pantingwen
        6
    pantingwen  
       2018-01-29 22:25:37 +08:00
    如果运算符优先级相同,那运算符的结合方向决定了该如何运算。例如,"-"是左联的,那么 1 - 2 - 3 就等同于 (1 - 2) - 3 并且结果是 -4. 另外一方面,"="是右联的,所以 $a = $b = $c 等同于 $a = ($b = $c)。
    结果就是 C
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2596 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:59 · PVG 14:59 · LAX 22:59 · JFK 01:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.