ID: 49828
Updated by: [email protected]
Reported By: daniel dot meister at datahouse dot ch
Status: Open
Bug Type: Class/Object related
Operating System: Ubuntu 09.04
PHP Version: 5.2.11
New Comment:
Could reproduce with PHP 5.2-HEAD and PHP 5.3-HEAD. The error occurs on
the line with:
const a = -INF;
Note that the same error occurs with:
const a = -(1);
Because you can't use an expression when defining a constant.
Previous Comments:
------------------------------------------------------------------------
[2009-10-10 11:46:45] daniel dot meister at datahouse dot ch
possible workarounds:
define("C",-INF);
class A {
const a = C;
}
class A {
const a = -1E100000000;
}
------------------------------------------------------------------------
[2009-10-10 00:44:03] daniel dot meister at datahouse dot ch
Description:
------------
It is not possible to set a class-constant to the value of negative
infinity (-INF) while it is possible to set it to any float value or
even to positive infinity (INF) or not-a-number (NAN).
configuration:
- no configure options
- no changes to php.ini
Reproduce code:
---------------
class A {
const a = -INF;
}
echo is_infinite(A::a);
Expected result:
----------------
1
Actual result:
--------------
Fatal error: Unsupported operand types in /path/to/file/filename.php on
line n
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=49828&edit=1