Re: Why PHP sucks - farce or is there a bit of truth?
| From: | Daniel | 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?