Annotation of embedaddon/php/ext/standard/tests/array/key_variation4.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test key() function : usage variations
3: --FILE--
4: <?php
5: /* Prototype : mixed key(array $array_arg)
6: * Description: Return the key of the element currently pointed to by the internal array pointer
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Test how key() behaves with muti-dimensional and recursive arrays
12: */
13:
14: echo "*** Testing key() : usage variations ***\n";
15:
16: echo "\n-- Two Dimensional Array --\n";
17: $multi_array = array ('zero', array (1, 2, 3), 'two');
18: echo "Initial Position: ";
19: var_dump(key($multi_array));
20:
21: echo "Next Position: ";
22: next($multi_array);
23: var_dump(key($multi_array));
24:
25: echo "End Position: ";
26: end($multi_array);
27: var_dump(key($multi_array));
28:
29: echo "\n-- Access an Array Within an Array --\n";
30: //accessing an array within an array
31: echo "Initial Position: ";
32: var_dump(key($multi_array[1]));
33:
34: echo "\n-- Recursive, Multidimensional Array --\n";
35: //create a recursive array
36: $multi_array[] = &$multi_array;
37:
38: //See where internal pointer is after adding more elements
39: echo "Current Position: ";
40: var_dump(key($multi_array));
41:
42: //see if internal pointer is in same position as referenced array
43: var_dump(key($multi_array[3][3][3]));
44: // see if internal pointer is in the same position from when accessing this inner array
45: var_dump(key($multi_array[3][3][3][1]));
46: ?>
47: ===DONE===
48: --EXPECTF--
49: *** Testing key() : usage variations ***
50:
51: -- Two Dimensional Array --
52: Initial Position: int(0)
53: Next Position: int(1)
54: End Position: int(2)
55:
56: -- Access an Array Within an Array --
57: Initial Position: int(0)
58:
59: -- Recursive, Multidimensional Array --
60: Current Position: int(2)
61: int(2)
62: int(0)
63: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>