Return to key_variation4.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
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===