3 ms·
I used to write php and JavaScript at the same time. Turns out nested ternaries get evaluated differently in both languages, leading to some subtle bugs sometim
by janpot 7y ago
I used to write php and JavaScript at the same time. Turns out nested ternaries get evaluated differently in both languages, leading to some subtle bugs sometimes. I will never write those without parentheses again.
- uryga 7y agoiirc php is the only (popular) language with messed up ternary-if associativity, it works as you'd expect pretty much everywhere else
- stevenhilder 7y agoI believe you're correct; I'm not aware of any other language with a left-associative ternary. This will be deprecated as of PHP 7.4[0], and will cause a compile error in PHP 8.0. However, instead of switching straight to right-associativity, PHP will require explicit parentheses to disambiguate nested ternaries. [0] https://wiki.php.net/rfc/ternary_associativity https://wiki.php.net/rfc/ternary_associativity