Return to rsort_basic.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test rsort() function : basic functionality 3: --FILE-- 4: <?php 5: /* Prototype : bool rsort(array &$array_arg [, int $sort_flags]) 6: * Description: Sort an array in reverse order 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * Test basic functionality of rsort() 12: */ 13: 14: echo "*** Testing rsort() : basic functionality ***\n"; 15: 16: // associative array containing unsorted string values 1.1.1.2 ! misho 17: $unsorted_strings = array( ! 18: "l" => "lemon", "o" => "orange", ! 19: "O" => "Orange", "O1" => "Orange1", "o2" => "orange2", "O3" => "Orange3", "o20" => "orange20", ! 20: "b" => "banana", ! 21: ); 1.1 misho 22: 23: // array with default keys containing unsorted numeric values 24: $unsorted_numerics = array( 100, 33, 555, 22 ); 25: 26: echo "\n-- Testing rsort() by supplying string array, 'flag' value is defualt --\n"; 27: $temp_array = $unsorted_strings; 28: var_dump( rsort($temp_array) ); 29: var_dump( $temp_array); 30: 31: echo "\n-- Testing rsort() by supplying numeric array, 'flag' value is defualt --\n"; 32: $temp_array = $unsorted_numerics; 33: var_dump( rsort($temp_array) ); 34: var_dump( $temp_array); 35: 36: echo "\n-- Testing rsort() by supplying string array, 'flag' = SORT_REGULAR --\n"; 37: $temp_array = $unsorted_strings; 38: var_dump( rsort($temp_array, SORT_REGULAR) ); 39: var_dump( $temp_array); 40: 41: echo "\n-- Testing rsort() by supplying numeric array, 'flag' = SORT_REGULAR --\n"; 42: $temp_array = $unsorted_numerics; 43: var_dump( rsort($temp_array, SORT_REGULAR) ); 44: var_dump( $temp_array); 45: 46: echo "\n-- Testing rsort() by supplying string array, 'flag' = SORT_STRING --\n"; 47: $temp_array = $unsorted_strings; 48: var_dump( rsort($temp_array, SORT_STRING) ); 49: var_dump( $temp_array); 50: 1.1.1.2 ! misho 51: echo "\n-- Testing rsort() by supplying string array (case insensitive), 'flag' = SORT_STRING|SORT_FLAG_CASE --\n"; ! 52: $temp_array = $unsorted_strings; ! 53: var_dump( rsort($temp_array, SORT_STRING|SORT_FLAG_CASE) ); // expecting : bool(true) ! 54: var_dump( $temp_array); ! 55: ! 56: echo "\n-- Testing rsort() by supplying string array (natural), 'flag' = SORT_NATURAL --\n"; ! 57: $temp_array = $unsorted_strings; ! 58: var_dump( rsort($temp_array, SORT_NATURAL) ); // expecting : bool(true) ! 59: var_dump( $temp_array); ! 60: ! 61: echo "\n-- Testing rsort() by supplying string array (natural, case insensitive), 'flag' = SORT_NATURAL|SORT_FLAG_CASE --\n"; ! 62: $temp_array = $unsorted_strings; ! 63: var_dump( rsort($temp_array, SORT_NATURAL|SORT_FLAG_CASE) ); // expecting : bool(true) ! 64: var_dump( $temp_array); ! 65: 1.1 misho 66: echo "\n-- Testing rsort() by supplying numeric array, 'flag' = SORT_NUMERIC --\n"; 67: $temp_array = $unsorted_numerics; 68: var_dump( rsort($temp_array, SORT_NUMERIC) ); 69: var_dump( $temp_array); 70: 71: echo "Done"; 72: ?> 73: 74: --EXPECTF-- 75: *** Testing rsort() : basic functionality *** 76: 77: -- Testing rsort() by supplying string array, 'flag' value is defualt -- 78: bool(true) 1.1.1.2 ! misho 79: array(8) { 1.1 misho 80: [0]=> 1.1.1.2 ! misho 81: string(8) "orange20" 1.1 misho 82: [1]=> 1.1.1.2 ! misho 83: string(7) "orange2" 1.1 misho 84: [2]=> 1.1.1.2 ! misho 85: string(6) "orange" ! 86: [3]=> ! 87: string(5) "lemon" ! 88: [4]=> 1.1 misho 89: string(6) "banana" 1.1.1.2 ! misho 90: [5]=> ! 91: string(7) "Orange3" ! 92: [6]=> ! 93: string(7) "Orange1" ! 94: [7]=> ! 95: string(6) "Orange" 1.1 misho 96: } 97: 98: -- Testing rsort() by supplying numeric array, 'flag' value is defualt -- 99: bool(true) 100: array(4) { 101: [0]=> 102: int(555) 103: [1]=> 104: int(100) 105: [2]=> 106: int(33) 107: [3]=> 108: int(22) 109: } 110: 111: -- Testing rsort() by supplying string array, 'flag' = SORT_REGULAR -- 112: bool(true) 1.1.1.2 ! misho 113: array(8) { 1.1 misho 114: [0]=> 1.1.1.2 ! misho 115: string(8) "orange20" 1.1 misho 116: [1]=> 1.1.1.2 ! misho 117: string(7) "orange2" 1.1 misho 118: [2]=> 1.1.1.2 ! misho 119: string(6) "orange" ! 120: [3]=> ! 121: string(5) "lemon" ! 122: [4]=> 1.1 misho 123: string(6) "banana" 1.1.1.2 ! misho 124: [5]=> ! 125: string(7) "Orange3" ! 126: [6]=> ! 127: string(7) "Orange1" ! 128: [7]=> ! 129: string(6) "Orange" 1.1 misho 130: } 131: 132: -- Testing rsort() by supplying numeric array, 'flag' = SORT_REGULAR -- 133: bool(true) 134: array(4) { 135: [0]=> 136: int(555) 137: [1]=> 138: int(100) 139: [2]=> 140: int(33) 141: [3]=> 142: int(22) 143: } 144: 145: -- Testing rsort() by supplying string array, 'flag' = SORT_STRING -- 146: bool(true) 1.1.1.2 ! misho 147: array(8) { ! 148: [0]=> ! 149: string(8) "orange20" ! 150: [1]=> ! 151: string(7) "orange2" ! 152: [2]=> ! 153: string(6) "orange" ! 154: [3]=> ! 155: string(5) "lemon" ! 156: [4]=> ! 157: string(6) "banana" ! 158: [5]=> ! 159: string(7) "Orange3" ! 160: [6]=> ! 161: string(7) "Orange1" ! 162: [7]=> ! 163: string(6) "Orange" ! 164: } ! 165: ! 166: -- Testing rsort() by supplying string array (case insensitive), 'flag' = SORT_STRING|SORT_FLAG_CASE -- ! 167: bool(true) ! 168: array(8) { 1.1 misho 169: [0]=> 1.1.1.2 ! misho 170: string(7) "Orange3" ! 171: [1]=> ! 172: string(8) "orange20" ! 173: [2]=> ! 174: string(7) "orange2" ! 175: [3]=> ! 176: string(7) "Orange1" ! 177: [4]=> 1.1 misho 178: string(6) "orange" 1.1.1.2 ! misho 179: [5]=> ! 180: string(6) "Orange" ! 181: [6]=> ! 182: string(5) "lemon" ! 183: [7]=> ! 184: string(6) "banana" ! 185: } ! 186: ! 187: -- Testing rsort() by supplying string array (natural), 'flag' = SORT_NATURAL -- ! 188: bool(true) ! 189: array(8) { ! 190: [0]=> ! 191: string(8) "orange20" 1.1 misho 192: [1]=> 1.1.1.2 ! misho 193: string(7) "orange2" ! 194: [2]=> ! 195: string(6) "orange" ! 196: [3]=> 1.1 misho 197: string(5) "lemon" 1.1.1.2 ! misho 198: [4]=> ! 199: string(6) "banana" ! 200: [5]=> ! 201: string(7) "Orange3" ! 202: [6]=> ! 203: string(7) "Orange1" ! 204: [7]=> ! 205: string(6) "Orange" ! 206: } ! 207: ! 208: -- Testing rsort() by supplying string array (natural, case insensitive), 'flag' = SORT_NATURAL|SORT_FLAG_CASE -- ! 209: bool(true) ! 210: array(8) { ! 211: [0]=> ! 212: string(8) "orange20" ! 213: [1]=> ! 214: string(7) "Orange3" 1.1 misho 215: [2]=> 1.1.1.2 ! misho 216: string(7) "orange2" ! 217: [3]=> ! 218: string(7) "Orange1" ! 219: [4]=> ! 220: string(6) "orange" ! 221: [5]=> ! 222: string(6) "Orange" ! 223: [6]=> ! 224: string(5) "lemon" ! 225: [7]=> 1.1 misho 226: string(6) "banana" 227: } 228: 229: -- Testing rsort() by supplying numeric array, 'flag' = SORT_NUMERIC -- 230: bool(true) 231: array(4) { 232: [0]=> 233: int(555) 234: [1]=> 235: int(100) 236: [2]=> 237: int(33) 238: [3]=> 239: int(22) 240: } 241: Done