Re: Why PHP sucks - farce or is there a bit of truth?

From: Date: Fri, 18 Oct 2013 00:49:34 +0000
Subject: Re: Why PHP sucks - farce or is there a bit of truth?
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-322302@lists.php.net to get a copy of this message
On Fri, Oct 18, 2013 at 11:46 AM, Tim-Hinnerk Heuer <th.heuer@gmail.com> wrote: > Hi, > > I've been a PHP programmer for several years now and have a bit of a > love-hate relationship with it. It's great for doing something quickly, > especially web stuff, but recently I have heard people moaning about PHP a > lot and did some research and found this: > > http://webonastick.com/php.html > > One thing I had to get my head around is this: > The ternary operator > <?php > $foo = 1; > print(($foo == 1) ? "uno" : ($foo === 2) ? "dos" : "tres"); > print("\n"); > > outputs >>> dos > > because the operator is left-to-right associative instead of right-to-left > as in other languages. I was thinking there must be a reason for this. > Speed? Is it faster to evaluate/implement all operators as left-to-right? > > I noticed that the above could easily be fixed by saying: > > <?php > $foo = 1; > print(($foo == 1) ? "uno" : (($foo === 2) ? "dos" : "tres")); > print("\n"); > > outputs >>> uno > > Was this a deliberate design decision or is it a flaky implementation of > the ternary operator? > > Tim-Hinnerk Heuer > > Twitter: @geekdenz > Blog: http://www.thheuer.com Maybe it just me but I look at it the same as math, you don't add something up from right to left do you?

« previous php.general (#322302) next »