• Serdan
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    1 year ago

    PHP is the only language in existence with a left associative ternary operator. Ignoring PHP, the operator has worked exactly the same way for decades. And even PHP has now fixed the operator.

    I don’t think it’s reasonable to avoid a very commonly supported pattern just because a single badly designed language implemented it wrong.

    • deaf_fish
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      1 year ago

      Okay, even if I give you the unexpected behavior point. The readability problem remains. Switch statements or tables will work just fine and are easier to read.

      To be clear, I am fine with single ternary operations. I think nested ternary operations are harder to read and follow.

      • Serdan
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I agree you should use a switch where applicable, but ternaries are the expression equivalent of if-else statements. If I have two conditions and a default, and each branch simply evaluates to a value of the same type, I’ll probably just use a ternary.