Annotation of embedaddon/php/ext/standard/tests/array/array_merge_recursive_variation6.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test array_merge_recursive() function : usage variations - array with duplicate keys
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array array_merge_recursive(array $arr1[, array $...])
                      6:  * Description: Recursively merges elements from passed arrays into one array
                      7:  * Source code: ext/standard/array.c
                      8: */
                      9: 
                     10: /*
                     11:  * Testing the functionality of array_merge_recursive() by passing 
                     12:  * array having duplicate keys.
                     13: */
                     14: 
                     15: echo "*** Testing array_merge_recursive() : array with duplicate keys for \$arr1 argument ***\n";
                     16: 
                     17: /* initialize the array having duplicate keys */
                     18: // array with numeric keys
                     19: $arr1_numeric_key = array( 1 => "one", 2 => "two", 2 => array(1, 2), 3 => "three", 1 => array("duplicate", 'strings'));
                     20: // array with string keys
                     21: $arr1_string_key = array("str1" => "hello", "str2" => 111, "str1" => "world", "str2" => 111.111);
                     22: 
                     23: // initialize the second argument
                     24: $arr2 = array("one", "str1" => "two", array("one", "two"));
                     25: 
                     26: echo "-- With default argument --\n";
                     27: var_dump( array_merge_recursive($arr1_numeric_key) );
                     28: var_dump( array_merge_recursive($arr1_string_key) );
                     29: 
                     30: echo "-- With more arguments --\n";
                     31: var_dump( array_merge_recursive($arr1_numeric_key, $arr2) );
                     32: var_dump( array_merge_recursive($arr1_string_key, $arr2) );
                     33: 
                     34: echo "Done";
                     35: ?>
                     36: --EXPECTF--
                     37: *** Testing array_merge_recursive() : array with duplicate keys for $arr1 argument ***
                     38: -- With default argument --
                     39: array(3) {
                     40:   [0]=>
                     41:   array(2) {
                     42:     [0]=>
                     43:     string(9) "duplicate"
                     44:     [1]=>
                     45:     string(7) "strings"
                     46:   }
                     47:   [1]=>
                     48:   array(2) {
                     49:     [0]=>
                     50:     int(1)
                     51:     [1]=>
                     52:     int(2)
                     53:   }
                     54:   [2]=>
                     55:   string(5) "three"
                     56: }
                     57: array(2) {
                     58:   ["str1"]=>
                     59:   string(5) "world"
                     60:   ["str2"]=>
                     61:   float(111.111)
                     62: }
                     63: -- With more arguments --
                     64: array(6) {
                     65:   [0]=>
                     66:   array(2) {
                     67:     [0]=>
                     68:     string(9) "duplicate"
                     69:     [1]=>
                     70:     string(7) "strings"
                     71:   }
                     72:   [1]=>
                     73:   array(2) {
                     74:     [0]=>
                     75:     int(1)
                     76:     [1]=>
                     77:     int(2)
                     78:   }
                     79:   [2]=>
                     80:   string(5) "three"
                     81:   [3]=>
                     82:   string(3) "one"
                     83:   ["str1"]=>
                     84:   string(3) "two"
                     85:   [4]=>
                     86:   array(2) {
                     87:     [0]=>
                     88:     string(3) "one"
                     89:     [1]=>
                     90:     string(3) "two"
                     91:   }
                     92: }
                     93: array(4) {
                     94:   ["str1"]=>
                     95:   array(2) {
                     96:     [0]=>
                     97:     string(5) "world"
                     98:     [1]=>
                     99:     string(3) "two"
                    100:   }
                    101:   ["str2"]=>
                    102:   float(111.111)
                    103:   [0]=>
                    104:   string(3) "one"
                    105:   [1]=>
                    106:   array(2) {
                    107:     [0]=>
                    108:     string(3) "one"
                    109:     [1]=>
                    110:     string(3) "two"
                    111:   }
                    112: }
                    113: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>