Return to array_merge_recursive_variation6.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
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