Annotation of embedaddon/php/ext/standard/tests/array/current_variation4.phpt, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>