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]