]> granicus.if.org Git - php/commitdiff
Added a test case for bug #20381
authorMoriyoshi Koizumi <moriyoshi@php.net>
Fri, 15 Nov 2002 02:11:23 +0000 (02:11 +0000)
committerMoriyoshi Koizumi <moriyoshi@php.net>
Fri, 15 Nov 2002 02:11:23 +0000 (02:11 +0000)
ext/standard/tests/array/bug20381.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/array/bug20381.phpt b/ext/standard/tests/array/bug20381.phpt
new file mode 100644 (file)
index 0000000..1adaa86
--- /dev/null
@@ -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"
+  }
+}