Annotation of embedaddon/php/ext/standard/tests/array/array_slice_variation6.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_slice() function : usage variations - pass different int values as $length arg
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 integer values as $length argument to array_slice() to test behaviour
12: */
13:
14: echo "*** Testing array_slice() : usage variations ***\n";
15:
16: $input = array ('one' => 1, 2 => 'two', 'three', 9 => 'nine', 'ten' => 10);
17: $offset = 1;
18:
19: for ($i = -6; $i <= 6; $i++) {
20: echo "\n-- \$length is $i --\n";
21: var_dump(array_slice($input, $offset, $i));
22: }
23: echo "\n-- \$length is maximum integer value --\n";
24: var_dump(array_slice($input, $offset, PHP_INT_MAX));
25:
26: echo "\n-- \$length is minimum integer value --\n";
27: var_dump(array_slice($input, $offset, -PHP_INT_MAX));
28:
29: echo "Done";
30: ?>
31:
32: --EXPECTF--
33: *** Testing array_slice() : usage variations ***
34:
35: -- $length is -6 --
36: array(0) {
37: }
38:
39: -- $length is -5 --
40: array(0) {
41: }
42:
43: -- $length is -4 --
44: array(0) {
45: }
46:
47: -- $length is -3 --
48: array(1) {
49: [0]=>
50: string(3) "two"
51: }
52:
53: -- $length is -2 --
54: array(2) {
55: [0]=>
56: string(3) "two"
57: [1]=>
58: string(5) "three"
59: }
60:
61: -- $length is -1 --
62: array(3) {
63: [0]=>
64: string(3) "two"
65: [1]=>
66: string(5) "three"
67: [2]=>
68: string(4) "nine"
69: }
70:
71: -- $length is 0 --
72: array(0) {
73: }
74:
75: -- $length is 1 --
76: array(1) {
77: [0]=>
78: string(3) "two"
79: }
80:
81: -- $length is 2 --
82: array(2) {
83: [0]=>
84: string(3) "two"
85: [1]=>
86: string(5) "three"
87: }
88:
89: -- $length is 3 --
90: array(3) {
91: [0]=>
92: string(3) "two"
93: [1]=>
94: string(5) "three"
95: [2]=>
96: string(4) "nine"
97: }
98:
99: -- $length is 4 --
100: array(4) {
101: [0]=>
102: string(3) "two"
103: [1]=>
104: string(5) "three"
105: [2]=>
106: string(4) "nine"
107: ["ten"]=>
108: int(10)
109: }
110:
111: -- $length is 5 --
112: array(4) {
113: [0]=>
114: string(3) "two"
115: [1]=>
116: string(5) "three"
117: [2]=>
118: string(4) "nine"
119: ["ten"]=>
120: int(10)
121: }
122:
123: -- $length is 6 --
124: array(4) {
125: [0]=>
126: string(3) "two"
127: [1]=>
128: string(5) "three"
129: [2]=>
130: string(4) "nine"
131: ["ten"]=>
132: int(10)
133: }
134:
135: -- $length is maximum integer value --
136: array(4) {
137: [0]=>
138: string(3) "two"
139: [1]=>
140: string(5) "three"
141: [2]=>
142: string(4) "nine"
143: ["ten"]=>
144: int(10)
145: }
146:
147: -- $length is minimum integer value --
148: array(0) {
149: }
150: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>