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]

Reply via email to