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

1.1     ! misho       1: --TEST--
        !             2: Test array_diff() function : usage variations - arrays containing referenced variables
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : array array_diff(array $arr1, array $arr2 [, array ...])
        !             6:  * Description: Returns the entries of $arr1 that have values which are not 
        !             7:  * present in any of the others arguments. 
        !             8:  * Source code: ext/standard/array.c
        !             9:  */
        !            10: 
        !            11: /*
        !            12:  * Test how array_diff compares arrays that
        !            13:  * 1. Contain referenced variables
        !            14:  * 2. Have been referenced to each other
        !            15:  */
        !            16: 
        !            17: echo "*** Testing array_diff() : usage variations ***\n";
        !            18: $a = 'a';
        !            19: 
        !            20: $arr1 = array ("&$a", 'b', 'c');
        !            21: $arr2 = array (1, 2, 3);
        !            22: echo "-- Basic Comparison --\n";
        !            23: var_dump(array_diff($arr1, $arr2));
        !            24: var_dump(array_diff($arr2, $arr1));
        !            25: 
        !            26: $a = 1;
        !            27: 
        !            28: echo "-- \$a changed --\n";
        !            29: var_dump(array_diff($arr1, $arr2));
        !            30: var_dump(array_diff($arr2, $arr1));
        !            31: 
        !            32: 
        !            33: $arr2 = &$arr1;
        !            34: echo "-- Arrays referenced to each other --\n";
        !            35: var_dump(array_diff($arr1, $arr2));
        !            36: var_dump(array_diff($arr2, $arr1));
        !            37: 
        !            38: 
        !            39: $arr1 = array('x', 'y', 'z');
        !            40: echo "-- \$arr1 changed --\n";
        !            41: var_dump(array_diff($arr1, $arr2));
        !            42: var_dump(array_diff($arr2, $arr1));
        !            43: 
        !            44: 
        !            45: echo "Done";
        !            46: ?>
        !            47: 
        !            48: --EXPECTF--
        !            49: 
        !            50: *** Testing array_diff() : usage variations ***
        !            51: -- Basic Comparison --
        !            52: array(3) {
        !            53:   [0]=>
        !            54:   string(2) "&a"
        !            55:   [1]=>
        !            56:   string(1) "b"
        !            57:   [2]=>
        !            58:   string(1) "c"
        !            59: }
        !            60: array(3) {
        !            61:   [0]=>
        !            62:   int(1)
        !            63:   [1]=>
        !            64:   int(2)
        !            65:   [2]=>
        !            66:   int(3)
        !            67: }
        !            68: -- $a changed --
        !            69: array(3) {
        !            70:   [0]=>
        !            71:   string(2) "&a"
        !            72:   [1]=>
        !            73:   string(1) "b"
        !            74:   [2]=>
        !            75:   string(1) "c"
        !            76: }
        !            77: array(3) {
        !            78:   [0]=>
        !            79:   int(1)
        !            80:   [1]=>
        !            81:   int(2)
        !            82:   [2]=>
        !            83:   int(3)
        !            84: }
        !            85: -- Arrays referenced to each other --
        !            86: array(0) {
        !            87: }
        !            88: array(0) {
        !            89: }
        !            90: -- $arr1 changed --
        !            91: array(0) {
        !            92: }
        !            93: array(0) {
        !            94: }
        !            95: Done

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