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