Annotation of embedaddon/php/ext/standard/tests/array/array_merge_recursive_variation6.phpt, revision 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>