ID: 25470 Comment by: f dot berger at 21torr dot com Reported By: bmansion at mamasam dot com Status: Bogus Bug Type: Arrays related PHP Version: 4.3.3 New Comment:
in regards to RTFM: as you see in the example, it was written as '-999', means it is a string! Furthermore, array_merge is behaving correctly (not converting strings containing only numbers to numbers..) in earlier version what for example if my key NEEDS to be '0497121' (this is my phone-number-prefix), in this case i need the leading 0, and I don't need it renumbered, because for my context this is a string, not an int. The Documentation is correct on ints, the problem is that a string only containing numbers will be converted to an int before merging the arrays (which is a new behaviour, and in my Eye bogus) Previous Comments: ------------------------------------------------------------------------ [2003-09-24 09:37:56] [EMAIL PROTECTED] RTFM: "Don't forget that numeric keys will be renumbered!" "-999" is numeric ------------------------------------------------------------------------ [2003-09-24 07:28:01] bmansion at mamasam dot com Changing bug category as requested by f.berger. ------------------------------------------------------------------------ [2003-09-24 07:13:51] f dot berger at 21torr dot com The Category should be changed and the bug should be retitled, because this is a general bug, not related to PEAR, and not related to HTML_QuickForm. Problem I have: $ar = array ('-999'=>'a',0=>'b',1=>'c'); $ar2 = array ('x'=>'x','y'=>'y','z'=>'z'); print_r(array_merge($ar,$ar2)); results in a version prior to 4.3.3 to Array ( [-999] => c [0] => b [1] => a [x] => x [y] => y [z] => z ) in version 4.3.3 to [0] => a [1] => b [2] => c [x] => x [y] => y [z] => z ) ------------------------------------------------------------------------ [2003-09-10 11:53:37] bmansion at mamasam dot com Description: ------------ When the index in the array is a string like "1234567890", I mean containing only figures, array_merge will convert it to an int and change the index by resetting the value. 2 options: Make our own array_merge function. PHP Team fix array_merge so that it keep track of the index type. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25470&edit=1