ID: 48557 Updated by: fel...@php.net Reported By: kirila dot adamova at bitextender dot com -Status: Assigned +Status: Closed Bug Type: SOAP related Operating System: ALL PHP Version: 5.3.0RC3 Assigned To: dmitry New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Fixed in 5.2, 5.3 and HEAD. Thanks for the patch. ;) Previous Comments: ------------------------------------------------------------------------ [2009-06-15 14:16:40] david dot zuelke at bitextender dot com FYI, the patch is against PHP_5_3 ------------------------------------------------------------------------ [2009-06-15 14:11:47] kirila dot adamova at bitextender dot com Patch updated to use zend_symtable_update() instead of is_numeric_string() checks. Test case also updated to reflect the (now correct) handling of string keys with leading zeros. All in all a better and simpler patch. Thanks to Matt Wilmas for pointing this out! ------------------------------------------------------------------------ [2009-06-15 10:38:14] kirila dot adamova at bitextender dot com Test case: http://pastie.org/512338 WSDL for test: http://pastie.org/512339 Patch: http://pastie.org/512337 ------------------------------------------------------------------------ [2009-06-15 10:34:49] kirila dot adamova at bitextender dot com Description: ------------ When receiving a SOAP response that contains an Apache "Map" encoded hashmap, PHP will not decode numeric string keys to integers. As a result, those items in the map are never accessible, because an array access with a numeric string key implicitly casts the value to an integer before doing a value lookup. Reproduce code: --------------- (test case and patch to be attached) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=48557&edit=1