schezukNewTos
V2EX  ›  PHP

```return true !== $result ? $result : true;```是什么 Trick?不等价于```return $result;```吗?

  •  
  •   schezukNewTos · Dec 19, 2016 · 3423 views
    This topic created in 3502 days ago, the information mentioned may be changed or developed.
    15 replies    2016-12-20 02:29:41 +08:00
    irgil
        1
    irgil  
       Dec 19, 2016
    result = 1 的话返回 1 , result = true 的返回 true
    raincious
        2
    raincious  
       Dec 19, 2016
    @irgil 你看,仍然是完全没区别。

    对的,就是没区别。这不是 Trick ,只是习惯。
    gDD
        3
    gDD  
       Dec 19, 2016
    不谈黑点,这句 return 的意思是只有在 $result 严格等同于 true 的时候才返回 true ,否则原样返回 $result 。

    这样写应该更容易看懂: return $result === true ? true : $result;

    可以简写成: return $result === true ?: $result;
    chairuosen
        4
    chairuosen  
       Dec 19, 2016
    一样 , over
    twm
        5
    twm  
       Dec 19, 2016
    写这样的代码该打。
    wdd2007
        6
    wdd2007  
       Dec 19, 2016
    不等价。

    result = ['a'=>1,'b'=>2] 的话返回 ['a'=>1,'b'=>2] , result = true 的返回 true
    wesley
        7
    wesley  
       Dec 19, 2016
    `return true !== $result ? $result : true; 这个写法确实继承了 thinkphp 一贯的脱裤子放屁的传统

    直接 return $result 就行,他们的脑洞不是常人能理解的。
    woostundy
        8
    woostundy  
       Dec 19, 2016
    @wdd2007 所以和 return $result 到底哪里不等价了。。
    ivvei
        9
    ivvei  
       Dec 19, 2016
    没区别。
    holyghost
        10
    holyghost  
       Dec 19, 2016
    @wdd2007 所以哪里不等价了?。。。。
    misaka20038numbe
        11
    misaka20038numbe  
       Dec 19, 2016
    他们是为了配合上面的 false !== $result 和 true !== $result ,其实没有区别
    xjp
        12
    xjp  
       Dec 19, 2016   ❤️ 1
    一样的 result 和 true 一样就返回 true 如果不一样就返回 result

    想起一个段子 "和女朋友意见一样就听我的,意见不一样就听她的"

    a === b ? a : b;
    wdd2007
        13
    wdd2007  
       Dec 19, 2016
    哈哈 我脑残了 看错了。 等价的。
    gDD
        14
    gDD  
       Dec 19, 2016 via iPhone
    确实等价,同样想歪了。
    bombless
        15
    bombless  
       Dec 20, 2016 via Android
    可能是从一个别的什么奇怪的表达式改了逻辑变成这样的, 233
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3181 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 12:36 · PVG 20:36 · LAX 05:36 · JFK 08:36
    ♥ Do have faith in what you're doing.