This is well documented in the comments for array_merge() in the manual. A workaround is given -- the '+' operator is overloaded to do an associative array merge when two arrays are given.
Blaine McDonnell wrote: > From: [EMAIL PROTECTED] > Operating system: BSD & Windows > PHP version: 4.1.1 > PHP Bug Type: Output Control > Bug description: When using array_merge w/numbers & assoc array the > numbers are changed to 0,1.. > > When I try to use array_merge an array with an associative array the array > is renumbered starting at 0. > > Problem on Win2k with 4.1.0 & 4.1.1 > Problem on OpenBSD with 4.0.6 > > Here is a quick sample: > > <? > $TEST=array_merge(array( "7"=>array(1=>"TEST",2=>"TEST",4=>"TEST"),"9"=>array(1=>"TEST",2=>"TEST",4=>"TEST")),array("A"=>array(1=>"TEST",2=>"TEST",4=>"TEST"),"B"=>array(1=>"TEST",2=>"TEST",4=>"TEST"))); > foreach ($TEST as $key=>$val) > {print "$key<BR>";} > ?> > > Output: > 0 > 1 > A > B -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]