Annotation of embedaddon/php/ext/standard/tests/array/krsort_variation3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test krsort() function : usage variations - sort integer/float values
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/float/mixed values for $array argument
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: */
17:
18: echo "*** Testing krsort() : usage variations ***\n";
19:
20: // diff. associative arrays to sort
21: $various_arrays = array(
22: // negative/posative integer key value array
23: array(1 => 11, -2 => -11, 3 => 21, -4 => -21, 5 => 31, -6 => -31, 7 => 0, 8 => 41, -10 =>-41),
24:
25: // float key values
26: array(1.0 => 10.5, 0.2 => -10.5, 3.1 => 10.5e2, 4 => 10.6E-2, .5 => .5, 6 => .0001, -7 => -.1),
27:
28: // mixed value array with different types of keys
29: array(1 => .0001, 2 => .0021, -3 => -.01, 4 => -1, 5 => 0, 6 => .09, 7 => 2, -8 => -.9, 9 => 10.6E-2,
30: -10 => -10.6E-2, 11 => 33)
31: );
32:
33: // set of possible flag values
34: $flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_NUMERIC" => SORT_NUMERIC);
35:
36: $count = 1;
37: echo "\n-- Testing krsort() by supplying various integer/float arrays --\n";
38:
39: // loop through to test krsort() with different arrays
40: foreach ($various_arrays as $array) {
41: echo "\n-- Iteration $count --\n";
42:
43: echo "- With defualt sort flag -\n";
44: $temp_array = $array;
45: var_dump(krsort($temp_array) );
46: var_dump($temp_array);
47:
48: // loop through $flags array and call krsort() with all possible sort flag values
49: foreach($flags as $key => $flag){
50: echo "- Sort flag = $key -\n";
51: $temp_array = $array;
52: var_dump(krsort($temp_array, $flag) );
53: var_dump($temp_array);
54: }
55: $count++;
56: }
57:
58: echo "Done\n";
59: ?>
60: --EXPECTF--
61: *** Testing krsort() : usage variations ***
62:
63: -- Testing krsort() by supplying various integer/float arrays --
64:
65: -- Iteration 1 --
66: - With defualt sort flag -
67: bool(true)
68: array(9) {
69: [8]=>
70: int(41)
71: [7]=>
72: int(0)
73: [5]=>
74: int(31)
75: [3]=>
76: int(21)
77: [1]=>
78: int(11)
79: [-2]=>
80: int(-11)
81: [-4]=>
82: int(-21)
83: [-6]=>
84: int(-31)
85: [-10]=>
86: int(-41)
87: }
88: - Sort flag = SORT_REGULAR -
89: bool(true)
90: array(9) {
91: [8]=>
92: int(41)
93: [7]=>
94: int(0)
95: [5]=>
96: int(31)
97: [3]=>
98: int(21)
99: [1]=>
100: int(11)
101: [-2]=>
102: int(-11)
103: [-4]=>
104: int(-21)
105: [-6]=>
106: int(-31)
107: [-10]=>
108: int(-41)
109: }
110: - Sort flag = SORT_NUMERIC -
111: bool(true)
112: array(9) {
113: [8]=>
114: int(41)
115: [7]=>
116: int(0)
117: [5]=>
118: int(31)
119: [3]=>
120: int(21)
121: [1]=>
122: int(11)
123: [-2]=>
124: int(-11)
125: [-4]=>
126: int(-21)
127: [-6]=>
128: int(-31)
129: [-10]=>
130: int(-41)
131: }
132:
133: -- Iteration 2 --
134: - With defualt sort flag -
135: bool(true)
136: array(6) {
137: [6]=>
138: float(0.0001)
139: [4]=>
140: float(0.106)
141: [3]=>
142: float(1050)
143: [1]=>
144: float(10.5)
145: [0]=>
146: float(0.5)
147: [-7]=>
148: float(-0.1)
149: }
150: - Sort flag = SORT_REGULAR -
151: bool(true)
152: array(6) {
153: [6]=>
154: float(0.0001)
155: [4]=>
156: float(0.106)
157: [3]=>
158: float(1050)
159: [1]=>
160: float(10.5)
161: [0]=>
162: float(0.5)
163: [-7]=>
164: float(-0.1)
165: }
166: - Sort flag = SORT_NUMERIC -
167: bool(true)
168: array(6) {
169: [6]=>
170: float(0.0001)
171: [4]=>
172: float(0.106)
173: [3]=>
174: float(1050)
175: [1]=>
176: float(10.5)
177: [0]=>
178: float(0.5)
179: [-7]=>
180: float(-0.1)
181: }
182:
183: -- Iteration 3 --
184: - With defualt sort flag -
185: bool(true)
186: array(11) {
187: [11]=>
188: int(33)
189: [9]=>
190: float(0.106)
191: [7]=>
192: int(2)
193: [6]=>
194: float(0.09)
195: [5]=>
196: int(0)
197: [4]=>
198: int(-1)
199: [2]=>
200: float(0.0021)
201: [1]=>
202: float(0.0001)
203: [-3]=>
204: float(-0.01)
205: [-8]=>
206: float(-0.9)
207: [-10]=>
208: float(-0.106)
209: }
210: - Sort flag = SORT_REGULAR -
211: bool(true)
212: array(11) {
213: [11]=>
214: int(33)
215: [9]=>
216: float(0.106)
217: [7]=>
218: int(2)
219: [6]=>
220: float(0.09)
221: [5]=>
222: int(0)
223: [4]=>
224: int(-1)
225: [2]=>
226: float(0.0021)
227: [1]=>
228: float(0.0001)
229: [-3]=>
230: float(-0.01)
231: [-8]=>
232: float(-0.9)
233: [-10]=>
234: float(-0.106)
235: }
236: - Sort flag = SORT_NUMERIC -
237: bool(true)
238: array(11) {
239: [11]=>
240: int(33)
241: [9]=>
242: float(0.106)
243: [7]=>
244: int(2)
245: [6]=>
246: float(0.09)
247: [5]=>
248: int(0)
249: [4]=>
250: int(-1)
251: [2]=>
252: float(0.0021)
253: [1]=>
254: float(0.0001)
255: [-3]=>
256: float(-0.01)
257: [-8]=>
258: float(-0.9)
259: [-10]=>
260: float(-0.106)
261: }
262: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>