Edit report at https://bugs.php.net/bug.php?id=61655&edit=1
ID: 61655 Comment by: googleclone at https dot webasyst dot net Reported by: phpbugs at deep-freeze dot ca Summary: Unable to access key in array cast from object Status: Open Type: Bug Package: Arrays related Operating System: RedHat PHP Version: 5.3.10 Block user comment: N Private report: N New Comment: http://www.blackberryempire.com/forum/buysell/single_ad.php?ad_id=6 http://posterous-spaces.posterous.com/ http://googleclone.tumblr.com/ http://googleclone.tumblr.com/ https://profiled.com/mobile/blog Previous Comments: ------------------------------------------------------------------------ [2012-04-06 23:49:55] phpbugs at deep-freeze dot ca Description: ------------ Casting from an object to an array with numeric key leaves the element inaccessible. Given a object with a field whose name is numeric, after a cast to array, there is no means to access the element. That is $array['804496778'] yields an undefined error array_key_exists(804496778, $array); yields false array_key_exists('804496778', $array); fields false yet a var_dump($array); shows this element; and a array_keys($array); returns array(1) { [0] string(9) "804496778" } Test script: --------------- $object = new stdClass(); $key = '804496778'; $object->{$key} = "Hello; $array = (array)$object; echo $array[$key], ' ', (int)array_key_exists($key, $array), PHP_EOL; var_dump($array) Expected result: ---------------- Hello 1 array(1) { ["804496778"]=> string(5) "Hello" } Actual result: -------------- PHP Notice: Undefined index: 804496778 in /home/icewolf/bug.php on line 6 0 array(1) { ["804496778"]=> string(5) "Hello" } ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=61655&edit=1