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