Annotation of embedaddon/php/ext/standard/tests/array/sort_variation3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test sort() function : usage variations - sort integer/float values
3: --FILE--
4: <?php
5: /* Prototype : bool sort ( array &$array [, int $sort_flags] )
6: * Description: This function sorts an array.
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 sort() by providing different integer/float value arrays for $array argument
13: * with following flag values
14: * 1. flag value as defualt
15: * 2. SORT_REGULAR - compare items normally
16: * 3. SORT_NUMERIC - compare items numerically
17: * 4. SORT_STRING - compare items as strings
18: */
19:
20: echo "*** Testing sort() : usage variations ***\n";
21:
22: // group of various arrays
23: $various_arrays = array (
24: // negative/posative integers array
25: array(11, -11, 21, -21, 31, -31, 0, 41, -41),
26:
27: // float value array
28: array(10.5, -10.5, 10.5e2, 10.6E-2, .5, .01, -.1),
29:
30: // mixed value array
31: array(.0001, .0021, -.01, -1, 0, .09, 2, -.9, 10.6E-2, -10.6E-2, 33),
32:
33: // array values contains minimum and maximum ranges
34: array(2147483647, 2147483648, -2147483647, -2147483648, -0, 0, -2147483649)
35: );
36:
37: // set of possible flag values
38: $flag_value = array("SORT_REGULAR" => SORT_REGULAR, "SORT_NUMERIC" => SORT_NUMERIC);
39:
40: $count = 1;
41: echo "\n-- Testing sort() by supplying various integer/float arrays --\n";
42:
43: // loop through to test sort() with different arrays
44: foreach ($various_arrays as $array) {
45: echo "\n-- Iteration $count --\n";
46:
47: echo "- With Defualt sort flag -\n";
48: $temp_array = $array;
49: var_dump(sort($temp_array) );
50: var_dump($temp_array);
51:
52: // loop through $flag_value array and setting all possible flag values
53: foreach($flag_value as $key => $flag){
54: echo "- Sort flag = $key -\n";
55: $temp_array = $array;
56: var_dump(sort($temp_array, $flag) );
57: var_dump($temp_array);
58: }
59: $count++;
60: }
61:
62: echo "Done\n";
63: ?>
64: --EXPECTF--
65: *** Testing sort() : usage variations ***
66:
67: -- Testing sort() by supplying various integer/float arrays --
68:
69: -- Iteration 1 --
70: - With Defualt sort flag -
71: bool(true)
72: array(9) {
73: [0]=>
74: int(-41)
75: [1]=>
76: int(-31)
77: [2]=>
78: int(-21)
79: [3]=>
80: int(-11)
81: [4]=>
82: int(0)
83: [5]=>
84: int(11)
85: [6]=>
86: int(21)
87: [7]=>
88: int(31)
89: [8]=>
90: int(41)
91: }
92: - Sort flag = SORT_REGULAR -
93: bool(true)
94: array(9) {
95: [0]=>
96: int(-41)
97: [1]=>
98: int(-31)
99: [2]=>
100: int(-21)
101: [3]=>
102: int(-11)
103: [4]=>
104: int(0)
105: [5]=>
106: int(11)
107: [6]=>
108: int(21)
109: [7]=>
110: int(31)
111: [8]=>
112: int(41)
113: }
114: - Sort flag = SORT_NUMERIC -
115: bool(true)
116: array(9) {
117: [0]=>
118: int(-41)
119: [1]=>
120: int(-31)
121: [2]=>
122: int(-21)
123: [3]=>
124: int(-11)
125: [4]=>
126: int(0)
127: [5]=>
128: int(11)
129: [6]=>
130: int(21)
131: [7]=>
132: int(31)
133: [8]=>
134: int(41)
135: }
136:
137: -- Iteration 2 --
138: - With Defualt sort flag -
139: bool(true)
140: array(7) {
141: [0]=>
142: float(-10.5)
143: [1]=>
144: float(-0.1)
145: [2]=>
146: float(0.01)
147: [3]=>
148: float(0.106)
149: [4]=>
150: float(0.5)
151: [5]=>
152: float(10.5)
153: [6]=>
154: float(1050)
155: }
156: - Sort flag = SORT_REGULAR -
157: bool(true)
158: array(7) {
159: [0]=>
160: float(-10.5)
161: [1]=>
162: float(-0.1)
163: [2]=>
164: float(0.01)
165: [3]=>
166: float(0.106)
167: [4]=>
168: float(0.5)
169: [5]=>
170: float(10.5)
171: [6]=>
172: float(1050)
173: }
174: - Sort flag = SORT_NUMERIC -
175: bool(true)
176: array(7) {
177: [0]=>
178: float(-10.5)
179: [1]=>
180: float(-0.1)
181: [2]=>
182: float(0.01)
183: [3]=>
184: float(0.106)
185: [4]=>
186: float(0.5)
187: [5]=>
188: float(10.5)
189: [6]=>
190: float(1050)
191: }
192:
193: -- Iteration 3 --
194: - With Defualt sort flag -
195: bool(true)
196: array(11) {
197: [0]=>
198: int(-1)
199: [1]=>
200: float(-0.9)
201: [2]=>
202: float(-0.106)
203: [3]=>
204: float(-0.01)
205: [4]=>
206: int(0)
207: [5]=>
208: float(0.0001)
209: [6]=>
210: float(0.0021)
211: [7]=>
212: float(0.09)
213: [8]=>
214: float(0.106)
215: [9]=>
216: int(2)
217: [10]=>
218: int(33)
219: }
220: - Sort flag = SORT_REGULAR -
221: bool(true)
222: array(11) {
223: [0]=>
224: int(-1)
225: [1]=>
226: float(-0.9)
227: [2]=>
228: float(-0.106)
229: [3]=>
230: float(-0.01)
231: [4]=>
232: int(0)
233: [5]=>
234: float(0.0001)
235: [6]=>
236: float(0.0021)
237: [7]=>
238: float(0.09)
239: [8]=>
240: float(0.106)
241: [9]=>
242: int(2)
243: [10]=>
244: int(33)
245: }
246: - Sort flag = SORT_NUMERIC -
247: bool(true)
248: array(11) {
249: [0]=>
250: int(-1)
251: [1]=>
252: float(-0.9)
253: [2]=>
254: float(-0.106)
255: [3]=>
256: float(-0.01)
257: [4]=>
258: int(0)
259: [5]=>
260: float(0.0001)
261: [6]=>
262: float(0.0021)
263: [7]=>
264: float(0.09)
265: [8]=>
266: float(0.106)
267: [9]=>
268: int(2)
269: [10]=>
270: int(33)
271: }
272:
273: -- Iteration 4 --
274: - With Defualt sort flag -
275: bool(true)
276: array(7) {
277: [0]=>
278: %s(-2147483649)
279: [1]=>
280: %s(-2147483648)
281: [2]=>
282: int(-2147483647)
283: [3]=>
284: int(0)
285: [4]=>
286: int(0)
287: [5]=>
288: int(2147483647)
289: [6]=>
290: %s(2147483648)
291: }
292: - Sort flag = SORT_REGULAR -
293: bool(true)
294: array(7) {
295: [0]=>
296: %s(-2147483649)
297: [1]=>
298: %s(-2147483648)
299: [2]=>
300: int(-2147483647)
301: [3]=>
302: int(0)
303: [4]=>
304: int(0)
305: [5]=>
306: int(2147483647)
307: [6]=>
308: %s(2147483648)
309: }
310: - Sort flag = SORT_NUMERIC -
311: bool(true)
312: array(7) {
313: [0]=>
314: %s(-2147483649)
315: [1]=>
316: %s(-2147483648)
317: [2]=>
318: int(-2147483647)
319: [3]=>
320: int(0)
321: [4]=>
322: int(0)
323: [5]=>
324: int(2147483647)
325: [6]=>
326: %s(2147483648)
327: }
328: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>