Re: Re: Behaviour of $array1 + $array2
| From: | Philip Olson | Date: | Fri, 11 Jan 2002 09:57:19 +0000 |
| Subject: | Re: Re: Behaviour of $array1 + $array2 | ||
| References: | 1 | Groups: | php.dev php.doc |
| Request: | Send a blank email to php-dev+get-76595@lists.php.net to get a copy of this message | ||
Here's an example of related activities (4.1.1):
<?php
$a = array(4 => '4 a', 2 => '2 a', 'foo' => 'foo
a');
$b = array(4 => '4 b', 1 => '1 b', 'foo' => 'foo
b');
$c['plus'] = $a + $b;
$c['merge'] = array_merge($a,$b);
$c['merge_recursive'] = array_merge_recursive($a,$b);
$c['concat'] = $a . $b;
print_r($c);
?>
The behavior of . both seems weird yet mostly makes sense too. I agree,
the use of '+' needs to be documented. Documented with
similarities/differences between array_merge and array_merge_recusive.
Some obvious differences can be seen through the above example, who will
document this and where? :)
I just reported bug #14990 on array_merge_recursive which may be of
interest. Without further ado, here's the output from the above code:
Array
(
[plus] => Array
(
[4] => 4 a
[2] => 2 a
[foo] => foo a
[1] => 1 b
)
[merge] => Array
(
[0] => 4 a
[1] => 2 a
[foo] => foo b
[2] => 4 b
[3] => 1 b
)
[merge_recursive] => Array
(
[0] => 4 a
[1] => 2 a
[foo] => Array
(
[0] => foo a
[1] => foo b
)
[2] => 4 b
[3] => 1 b
)
[concat] => ArrayArray
)
Regards,
Philip Olson