From: Operating system: PHP version: 5.3.5 Package: Arrays related Bug Type: Bug Bug description:array_merge() break keys during merge
Description: ------------ array_merge interprets string keys, containing only digits as numeric keys, if numeric overflow not reached. String keys should works as strings regarless of their contents. Test script: --------------- var_dump(array_merge(array('t777'=> array("I'm a string")))); var_dump(array_merge(array("42424242"=> array("I'm a string of digits")))); var_dump(array_merge(array("777777777777777777777777777777777777777777777777777777777"=> array("I'm string of digits too")))); var_dump(is_string("42424242")); var_dump(is_string(42424242)); var_dump(is_string("777777777777777777777777777777777777777777777777777777777")); Expected result: ---------------- array(1) { ["t777"]=> array(1) { [0]=> string(12) "I'm a string" } } array(1) { ["42424242"]=> array(1) { [0]=> string(22) "I'm a string of digits" } } array(1) { ["777777777777777777777777777777777777777777777777777777777"]=> array(1) { [0]=> string(24) "I'm string of digits too" } } bool(true) bool(false) bool(true) Actual result: -------------- array(1) { ["t777"]=> array(1) { [0]=> string(12) "I'm a string" } } array(1) { [0]=> array(1) { [0]=> string(22) "I'm a string of digits" } } array(1) { ["777777777777777777777777777777777777777777777777777777777"]=> array(1) { [0]=> string(24) "I'm string of digits too" } } bool(true) bool(false) bool(true) -- Edit bug report at http://bugs.php.net/bug.php?id=54140&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=54140&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=54140&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=54140&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=54140&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=54140&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=54140&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=54140&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=54140&r=needscript Try newer version: http://bugs.php.net/fix.php?id=54140&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=54140&r=support Expected behavior: http://bugs.php.net/fix.php?id=54140&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=54140&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=54140&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=54140&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=54140&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=54140&r=dst IIS Stability: http://bugs.php.net/fix.php?id=54140&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=54140&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=54140&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=54140&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=54140&r=mysqlcfg