Annotation of embedaddon/php/ext/standard/tests/array/rsort_basic.phpt, revision 1.1.1.2
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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>