Annotation of embedaddon/php/ext/standard/tests/array/array_slice_variation5.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_slice() function : usage variations - Pass different integers as $offset argument
3: --FILE--
4: <?php
5: /* Prototype : array array_slice(array $input, int $offset [, int $length [, bool $preserve_keys]])
6: * Description: Returns elements specified by offset and length
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Pass different integers as $offset argument to test how array_slice() behaves
12: */
13:
14: echo "*** Testing array_slice() : usage variations ***\n";
15:
16: $input = array ('one' => 1, 2 => 'two', 'three', 9 => 'nine', 'ten' => 10);
17:
18: for ($i = -7; $i <= 7; $i++) {
19: echo "\n-- \$offset is $i --\n";
20: var_dump(array_slice($input, $i));
21: }
22: echo "\n-- \$offset is maximum integer value --\n";
23: var_dump(array_slice($input, PHP_INT_MAX));
24:
25: echo "\n-- \$offset is minimum integer value --\n";
26: var_dump(array_slice($input, -PHP_INT_MAX));
27:
28: echo "Done";
29: ?>
30:
31: --EXPECTF--
32: *** Testing array_slice() : usage variations ***
33:
34: -- $offset is -7 --
35: array(5) {
36: ["one"]=>
37: int(1)
38: [0]=>
39: string(3) "two"
40: [1]=>
41: string(5) "three"
42: [2]=>
43: string(4) "nine"
44: ["ten"]=>
45: int(10)
46: }
47:
48: -- $offset is -6 --
49: array(5) {
50: ["one"]=>
51: int(1)
52: [0]=>
53: string(3) "two"
54: [1]=>
55: string(5) "three"
56: [2]=>
57: string(4) "nine"
58: ["ten"]=>
59: int(10)
60: }
61:
62: -- $offset is -5 --
63: array(5) {
64: ["one"]=>
65: int(1)
66: [0]=>
67: string(3) "two"
68: [1]=>
69: string(5) "three"
70: [2]=>
71: string(4) "nine"
72: ["ten"]=>
73: int(10)
74: }
75:
76: -- $offset is -4 --
77: array(4) {
78: [0]=>
79: string(3) "two"
80: [1]=>
81: string(5) "three"
82: [2]=>
83: string(4) "nine"
84: ["ten"]=>
85: int(10)
86: }
87:
88: -- $offset is -3 --
89: array(3) {
90: [0]=>
91: string(5) "three"
92: [1]=>
93: string(4) "nine"
94: ["ten"]=>
95: int(10)
96: }
97:
98: -- $offset is -2 --
99: array(2) {
100: [0]=>
101: string(4) "nine"
102: ["ten"]=>
103: int(10)
104: }
105:
106: -- $offset is -1 --
107: array(1) {
108: ["ten"]=>
109: int(10)
110: }
111:
112: -- $offset is 0 --
113: array(5) {
114: ["one"]=>
115: int(1)
116: [0]=>
117: string(3) "two"
118: [1]=>
119: string(5) "three"
120: [2]=>
121: string(4) "nine"
122: ["ten"]=>
123: int(10)
124: }
125:
126: -- $offset is 1 --
127: array(4) {
128: [0]=>
129: string(3) "two"
130: [1]=>
131: string(5) "three"
132: [2]=>
133: string(4) "nine"
134: ["ten"]=>
135: int(10)
136: }
137:
138: -- $offset is 2 --
139: array(3) {
140: [0]=>
141: string(5) "three"
142: [1]=>
143: string(4) "nine"
144: ["ten"]=>
145: int(10)
146: }
147:
148: -- $offset is 3 --
149: array(2) {
150: [0]=>
151: string(4) "nine"
152: ["ten"]=>
153: int(10)
154: }
155:
156: -- $offset is 4 --
157: array(1) {
158: ["ten"]=>
159: int(10)
160: }
161:
162: -- $offset is 5 --
163: array(0) {
164: }
165:
166: -- $offset is 6 --
167: array(0) {
168: }
169:
170: -- $offset is 7 --
171: array(0) {
172: }
173:
174: -- $offset is maximum integer value --
175: array(0) {
176: }
177:
178: -- $offset is minimum integer value --
179: array(5) {
180: ["one"]=>
181: int(1)
182: [0]=>
183: string(3) "two"
184: [1]=>
185: string(5) "three"
186: [2]=>
187: string(4) "nine"
188: ["ten"]=>
189: int(10)
190: }
191: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>