Return to arsort_variation8.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test arsort() function : usage variations - sort array with diff. sub arrays, 'sort_flags' as default/SORT_REGULAR 3: --FILE-- 4: <?php 5: /* Prototype : bool arsort ( array &$array [, int $sort_flags] ) 6: * Description: Sort an array and maintain index association. 7: Elements will be arranged from highest to lowest when this function has completed. 8: * Source code: ext/standard/array.c 9: */ 10: 11: /* 12: * testing arsort() by providing arrays contains sub arrays for $array argument with flowing flag values 13: * flag value as default 14: * SORT_REGULAR - compare items normally 15: * Note: arrays are sorted based on total count of elements inside it, when all the elements are arrays 16: */ 17: 18: echo "*** Testing arsort() : usage variations ***\n"; 19: 20: // array of arrays 21: $various_arrays = array ( 22: // null array 23: "array[0]" => array(), 24: 25: // array contains null sub array 26: "array[1]" => array( "sub_array[1][0]" => array() ), 27: 28: // array of arrays along with some values 29: "array[2]" => array("data[2,0]" => 44, "data[2,1]" => 11, "sub_array[2][0] " => array(64,61) ), 30: 31: // array contains sub arrays 32: "array[3]" => array ( "sub_array[3][0]" => array(33,-5,6), "sub_array[3][1]" => array(11), 33: "sub_array[3][2]" => array(22,-55), "sub_array[3][3]" => array() ) 34: ); 35: 36: 37: $count = 1; 38: echo "\n-- Testing arsort() by supplying various arrays containing sub arrays --\n"; 39: 40: // loop through to test arsort() with different arrays 41: foreach ($various_arrays as $array) { 42: 43: echo "\n-- Iteration $count --\n"; 44: // testing arsort() function by supplying different arrays, flag value is default 45: echo "- With default sort_flag -\n"; 46: $temp_array = $array; 47: var_dump(arsort($temp_array) ); 48: var_dump($temp_array); 49: 50: // testing arsort() function by supplying different arrays, flag value = SORT_REGULAR 51: echo "- Sort_flag = SORT_REGULAR -\n"; 52: $temp_array = $array; 53: var_dump(arsort($temp_array, SORT_REGULAR) ); 54: var_dump($temp_array); 55: $count++; 56: } 57: 58: echo "Done\n"; 59: ?> 60: --EXPECTF-- 61: *** Testing arsort() : usage variations *** 62: 63: -- Testing arsort() by supplying various arrays containing sub arrays -- 64: 65: -- Iteration 1 -- 66: - With default sort_flag - 67: bool(true) 68: array(0) { 69: } 70: - Sort_flag = SORT_REGULAR - 71: bool(true) 72: array(0) { 73: } 74: 75: -- Iteration 2 -- 76: - With default sort_flag - 77: bool(true) 78: array(1) { 79: ["sub_array[1][0]"]=> 80: array(0) { 81: } 82: } 83: - Sort_flag = SORT_REGULAR - 84: bool(true) 85: array(1) { 86: ["sub_array[1][0]"]=> 87: array(0) { 88: } 89: } 90: 91: -- Iteration 3 -- 92: - With default sort_flag - 93: bool(true) 94: array(3) { 95: ["sub_array[2][0] "]=> 96: array(2) { 97: [0]=> 98: int(64) 99: [1]=> 100: int(61) 101: } 102: ["data[2,0]"]=> 103: int(44) 104: ["data[2,1]"]=> 105: int(11) 106: } 107: - Sort_flag = SORT_REGULAR - 108: bool(true) 109: array(3) { 110: ["sub_array[2][0] "]=> 111: array(2) { 112: [0]=> 113: int(64) 114: [1]=> 115: int(61) 116: } 117: ["data[2,0]"]=> 118: int(44) 119: ["data[2,1]"]=> 120: int(11) 121: } 122: 123: -- Iteration 4 -- 124: - With default sort_flag - 125: bool(true) 126: array(4) { 127: ["sub_array[3][0]"]=> 128: array(3) { 129: [0]=> 130: int(33) 131: [1]=> 132: int(-5) 133: [2]=> 134: int(6) 135: } 136: ["sub_array[3][2]"]=> 137: array(2) { 138: [0]=> 139: int(22) 140: [1]=> 141: int(-55) 142: } 143: ["sub_array[3][1]"]=> 144: array(1) { 145: [0]=> 146: int(11) 147: } 148: ["sub_array[3][3]"]=> 149: array(0) { 150: } 151: } 152: - Sort_flag = SORT_REGULAR - 153: bool(true) 154: array(4) { 155: ["sub_array[3][0]"]=> 156: array(3) { 157: [0]=> 158: int(33) 159: [1]=> 160: int(-5) 161: [2]=> 162: int(6) 163: } 164: ["sub_array[3][2]"]=> 165: array(2) { 166: [0]=> 167: int(22) 168: [1]=> 169: int(-55) 170: } 171: ["sub_array[3][1]"]=> 172: array(1) { 173: [0]=> 174: int(11) 175: } 176: ["sub_array[3][3]"]=> 177: array(0) { 178: } 179: } 180: Done