ID: 50816
Updated by: [email protected]
Reported By: spasic dot dejan at yahoo dot de
-Status: Open
+Status: Verified
Bug Type: Scripting Engine problem
-Operating System: ubuntu 9.10
+Operating System: *
-PHP Version: 5.3.1
+PHP Version: 5.3, 6
New Comment:
Works as expected in PHP 5.2, fails with 5.3 and above.
Previous Comments:
------------------------------------------------------------------------
[2010-01-21 22:14:08] spasic dot dejan at yahoo dot de
Description:
------------
Some lines of code is worth a thousand words
Reproduce code:
---------------
class Foo {
const ONE = 1;
const TWO = 1;
public static $mapWithConst = array(self::ONE => 'one', self::TWO =>
'two',);
public static $mapWithoutConst = array(17 => 'one', 17 => 'two',);
}
$mapWithConst = array(1 => 'one', 1 => 'two',);
$mapWithoutConst = array(Foo::ONE => 'one', Foo::TWO => 'two',);
var_dump(Foo::$mapWithConst);
var_dump(Foo::$mapWithoutConst);
var_dump($mapWithConst);
var_dump($mapWithoutConst);
Expected result:
----------------
array(1) {
[1]=>
string(3) "two"
}
array(1) {
[17]=>
string(3) "two"
}
array(1) {
[1]=>
string(3) "two"
}
array(1) {
[1]=>
string(3) "two"
}
Actual result:
--------------
array(1) {
[1]=>
string(3) "one" // ???
}
array(1) {
[17]=>
string(3) "two"
}
array(1) {
[1]=>
string(3) "two"
}
array(1) {
[1]=>
string(3) "two"
}
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=50816&edit=1