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