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>