summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoriyoshi Koizumi <moriyoshi@php.net>2002-11-15 02:11:23 +0000
committerMoriyoshi Koizumi <moriyoshi@php.net>2002-11-15 02:11:23 +0000
commitac209557ddd41d03333461092a28622b75cc37e0 (patch)
treede2809dd9bc8a0d54d8165dfb8c3e882fbfa680a
parentcd9b49566329a48a4d835a6010e02252e4880a6a (diff)
downloadphp-git-ac209557ddd41d03333461092a28622b75cc37e0.tar.gz
Added a test case for bug #20381
-rw-r--r--ext/standard/tests/array/bug20381.phpt79
1 files changed, 79 insertions, 0 deletions
diff --git a/ext/standard/tests/array/bug20381.phpt b/ext/standard/tests/array/bug20381.phpt
new file mode 100644
index 0000000000..1adaa863b7
--- /dev/null
+++ b/ext/standard/tests/array/bug20381.phpt
@@ -0,0 +1,79 @@
+--TEST--
+Bug #20381 (array_merge_recursive mangles input arrays)
+--FILE--
+<?php
+$a = array(
+ 'a1' => 1,
+ 'a2' => array( 1, 2, 3 ),
+ 'a3' => array(
+ 'a' => array( 10, 20, 30 ),
+ 'b' => 'b'
+ )
+ );
+$b = array( 'a1' => 2,
+ 'a2' => array( 3, 4, 5 ),
+ 'a3' => array(
+ 'c' => 'cc',
+ 'a' => array( 10, 40 )
+ )
+ );
+
+var_dump($a);
+array_merge_recursive( $a, $b );
+var_dump($a);
+?>
+--EXPECT--
+array(3) {
+ ["a1"]=>
+ int(1)
+ ["a2"]=>
+ array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+ }
+ ["a3"]=>
+ array(2) {
+ ["a"]=>
+ array(3) {
+ [0]=>
+ int(10)
+ [1]=>
+ int(20)
+ [2]=>
+ int(30)
+ }
+ ["b"]=>
+ string(1) "b"
+ }
+}
+array(3) {
+ ["a1"]=>
+ int(1)
+ ["a2"]=>
+ array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+ }
+ ["a3"]=>
+ array(2) {
+ ["a"]=>
+ array(3) {
+ [0]=>
+ int(10)
+ [1]=>
+ int(20)
+ [2]=>
+ int(30)
+ }
+ ["b"]=>
+ string(1) "b"
+ }
+}