Annotation of embedaddon/php/ext/standard/tests/array/array_shift_variation4.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_shift() function : usage variations - multi-dimensional arrays
3: --FILE--
4: <?php
5: /* Prototype : mixed array_shift(array &$stack)
6: * Description: Pops an element off the beginning of the array
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Test popping elements from a sub-array and popping an array from an array
12: */
13:
14: echo "*** Testing array_shift() : usage variations ***\n";
15:
16: $stack_first = array(array(1, 2, 3), 'one', 'two');
17: $stack_last = array ('zero', 'one', array (1, 2, 3));
18: echo "\n-- Before shift: --\n";
19: echo "---- \$stack_first:\n";
20: var_dump($stack_first);
21: echo "---- \$stack_last:\n";
22: var_dump($stack_last);
23:
24: echo "\n-- After shift: --\n";
25: echo "---- Pop array from array:\n";
26: echo "Returned value:\t";
27: var_dump(array_shift($stack_first));
28: echo "New array:\n";
29: var_dump($stack_first);
30:
31: echo "---- Pop element from array within array:\n";
32: echo "Returned value:\t";
33: var_dump(array_shift($stack_last[2]));
34: echo "New array:\n";
35: var_dump($stack_last);
36:
37: echo "Done";
38: ?>
39: --EXPECTF--
40: *** Testing array_shift() : usage variations ***
41:
42: -- Before shift: --
43: ---- $stack_first:
44: array(3) {
45: [0]=>
46: array(3) {
47: [0]=>
48: int(1)
49: [1]=>
50: int(2)
51: [2]=>
52: int(3)
53: }
54: [1]=>
55: string(3) "one"
56: [2]=>
57: string(3) "two"
58: }
59: ---- $stack_last:
60: array(3) {
61: [0]=>
62: string(4) "zero"
63: [1]=>
64: string(3) "one"
65: [2]=>
66: array(3) {
67: [0]=>
68: int(1)
69: [1]=>
70: int(2)
71: [2]=>
72: int(3)
73: }
74: }
75:
76: -- After shift: --
77: ---- Pop array from array:
78: Returned value: array(3) {
79: [0]=>
80: int(1)
81: [1]=>
82: int(2)
83: [2]=>
84: int(3)
85: }
86: New array:
87: array(2) {
88: [0]=>
89: string(3) "one"
90: [1]=>
91: string(3) "two"
92: }
93: ---- Pop element from array within array:
94: Returned value: int(1)
95: New array:
96: array(3) {
97: [0]=>
98: string(4) "zero"
99: [1]=>
100: string(3) "one"
101: [2]=>
102: array(2) {
103: [0]=>
104: int(2)
105: [1]=>
106: int(3)
107: }
108: }
109: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>