Annotation of embedaddon/php/ext/standard/tests/array/natcasesort_variation3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test natcasesort() function : usage variations - different numeric types
3: --SKIPIF--
4: <?php
5: if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
6: ?>
7: --FILE--
8: <?php
9: /* Prototype : bool natcasesort(array &$array_arg)
10: * Description: Sort an array using case-insensitive natural sort
11: * Source code: ext/standard/array.c
12: */
13:
14: /*
15: * Pass arrays of numeric data to test how natcasesort re-orders the array
16: */
17:
18: echo "*** Testing natcasesort() : usage variation ***\n";
19:
20: $inputs = array (
21:
22: // negative/positive integers array
23: array(11, -11, 21, -21, 31, -31, 0, 41, -41),
24:
25: // float value array
26: array(10.5, -10.5, 10.5e2, 10.6E-2, .5, .01, -.1),
27:
28: // mixed value array
29: array(.0001, .0021, -.01, -1, 0, .09, 2, -.9, 10.6E-2, -10.6E-2, 33),
30:
31: // array values contains minimum and maximum ranges
32: array(2147483647, 2147483648, -2147483647, -2147483648, -0, 0, -2147483649)
33: );
34:
35: $iterator = 1;
36: foreach ($inputs as $array_arg) {
37: echo "\n-- Iteration $iterator --\n";
38: var_dump(natcasesort($array_arg));
39: var_dump($array_arg);
40: }
41:
42: echo "Done";
43: ?>
44:
45: --EXPECTF--
46: *** Testing natcasesort() : usage variation ***
47:
48: -- Iteration 1 --
49: bool(true)
50: array(9) {
51: [1]=>
52: int(-11)
53: [3]=>
54: int(-21)
55: [5]=>
56: int(-31)
57: [8]=>
58: int(-41)
59: [6]=>
60: int(0)
61: [0]=>
62: int(11)
63: [2]=>
64: int(21)
65: [4]=>
66: int(31)
67: [7]=>
68: int(41)
69: }
70:
71: -- Iteration 1 --
72: bool(true)
73: array(7) {
74: [6]=>
75: float(-0.1)
76: [1]=>
77: float(-10.5)
78: [5]=>
79: float(0.01)
80: [4]=>
81: float(0.5)
82: [3]=>
83: float(0.106)
84: [0]=>
85: float(10.5)
86: [2]=>
87: float(1050)
88: }
89:
90: -- Iteration 1 --
91: bool(true)
92: array(11) {
93: [2]=>
94: float(-0.01)
95: [7]=>
96: float(-0.9)
97: [9]=>
98: float(-0.106)
99: [3]=>
100: int(-1)
101: [4]=>
102: int(0)
103: [0]=>
104: float(0.0001)
105: [1]=>
106: float(0.0021)
107: [5]=>
108: float(0.09)
109: [8]=>
110: float(0.106)
111: [6]=>
112: int(2)
113: [10]=>
114: int(33)
115: }
116:
117: -- Iteration 1 --
118: bool(true)
119: array(7) {
120: [2]=>
121: int(-2147483647)
122: [3]=>
123: float(-2147483648)
124: [6]=>
125: float(-2147483649)
126: [5]=>
127: int(0)
128: [4]=>
129: int(0)
130: [0]=>
131: int(2147483647)
132: [1]=>
133: float(2147483648)
134: }
135: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>