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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux