From:
Operating system: Linux,Windows
PHP version: Irrelevant
Package: Scripting Engine problem
Bug Type: Bug
Bug description:incorrect associativity of ternary operator
Description:
------------
zend_language_parser.y on line 81 gives the '?:' operator left
associativity when
it should be right as in virtually every other language that has a ternary
operator.
Test script:
---------------
$arg = "3";
$food = ( ($arg == '1') ? 'Banana' :
($arg == '2') ? 'Apple' :
($arg == '3') ? 'Toast' :
($arg == '4') ? 'Cantalope' :
($arg == '5') ? 'Swiss Cheese' : 'Fig Newton Cookie'
);
echo $food;
Expected result:
----------------
I expected to see 'Toast'.
Actual result:
--------------
The actual result is 'Swiss Cheese'.
--
Edit bug report at https://bugs.php.net/bug.php?id=61915&edit=1
--
Try a snapshot (PHP 5.4):
https://bugs.php.net/fix.php?id=61915&r=trysnapshot54
Try a snapshot (PHP 5.3):
https://bugs.php.net/fix.php?id=61915&r=trysnapshot53
Try a snapshot (trunk):
https://bugs.php.net/fix.php?id=61915&r=trysnapshottrunk
Fixed in SVN:
https://bugs.php.net/fix.php?id=61915&r=fixed
Fixed in SVN and need be documented:
https://bugs.php.net/fix.php?id=61915&r=needdocs
Fixed in release:
https://bugs.php.net/fix.php?id=61915&r=alreadyfixed
Need backtrace:
https://bugs.php.net/fix.php?id=61915&r=needtrace
Need Reproduce Script:
https://bugs.php.net/fix.php?id=61915&r=needscript
Try newer version:
https://bugs.php.net/fix.php?id=61915&r=oldversion
Not developer issue:
https://bugs.php.net/fix.php?id=61915&r=support
Expected behavior:
https://bugs.php.net/fix.php?id=61915&r=notwrong
Not enough info:
https://bugs.php.net/fix.php?id=61915&r=notenoughinfo
Submitted twice:
https://bugs.php.net/fix.php?id=61915&r=submittedtwice
register_globals:
https://bugs.php.net/fix.php?id=61915&r=globals
PHP 4 support discontinued:
https://bugs.php.net/fix.php?id=61915&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=61915&r=dst
IIS Stability:
https://bugs.php.net/fix.php?id=61915&r=isapi
Install GNU Sed:
https://bugs.php.net/fix.php?id=61915&r=gnused
Floating point limitations:
https://bugs.php.net/fix.php?id=61915&r=float
No Zend Extensions:
https://bugs.php.net/fix.php?id=61915&r=nozend
MySQL Configuration Error:
https://bugs.php.net/fix.php?id=61915&r=mysqlcfg