Annotation of embedaddon/php/ext/standard/tests/array/array_slice_variation9.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test array_slice() function : usage variations - referenced variables
        !             3: --INI--
        !             4: allow_call_time_pass_reference=on
        !             5: --FILE--
        !             6: <?php
        !             7: /* Prototype  : array array_slice(array $input, int $offset [, int $length [, bool $preserve_keys]])
        !             8:  * Description: Returns elements specified by offset and length 
        !             9:  * Source code: ext/standard/array.c
        !            10:  */
        !            11: 
        !            12: /*
        !            13:  * Test array_slice() when:
        !            14:  * 1. Passed an array of referenced variables
        !            15:  * 2. $input argument is passed by reference
        !            16:  */
        !            17: 
        !            18: echo "*** Testing array_slice() : usage variations ***\n";
        !            19: 
        !            20: $val1 = 'one';
        !            21: $val2 = 'two';
        !            22: $val3 = 'three';
        !            23: 
        !            24: echo "\n-- Array of referenced variables (\$preserve_keys = default) --\n";
        !            25: $input = array(3 => &$val1, 2 => &$val2, 1 => &$val3);
        !            26: var_dump(array_slice($input, 1, 2));
        !            27: 
        !            28: echo "-- Change \$val2 (\$preserve_keys = TRUE) --\n";
        !            29: $val2 = 'hello, world';
        !            30: var_dump(array_slice($input, 1, 2, true));
        !            31: 
        !            32: echo "\n-- Pass array by reference --\n";
        !            33: $new_input = array (1, 2, 3);
        !            34: var_dump(array_slice(&$new_input, 1));
        !            35: echo "-- Check passed array: --\n";
        !            36: var_dump($new_input);
        !            37: 
        !            38: echo "Done";
        !            39: ?>
        !            40: 
        !            41: --EXPECTF--
        !            42: *** Testing array_slice() : usage variations ***
        !            43: 
        !            44: -- Array of referenced variables ($preserve_keys = default) --
        !            45: array(2) {
        !            46:   [0]=>
        !            47:   &string(3) "two"
        !            48:   [1]=>
        !            49:   &string(5) "three"
        !            50: }
        !            51: -- Change $val2 ($preserve_keys = TRUE) --
        !            52: array(2) {
        !            53:   [2]=>
        !            54:   &string(12) "hello, world"
        !            55:   [1]=>
        !            56:   &string(5) "three"
        !            57: }
        !            58: 
        !            59: -- Pass array by reference --
        !            60: array(2) {
        !            61:   [0]=>
        !            62:   int(2)
        !            63:   [1]=>
        !            64:   int(3)
        !            65: }
        !            66: -- Check passed array: --
        !            67: array(3) {
        !            68:   [0]=>
        !            69:   int(1)
        !            70:   [1]=>
        !            71:   int(2)
        !            72:   [2]=>
        !            73:   int(3)
        !            74: }
        !            75: Done

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