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

1.1     ! misho       1: --TEST--
        !             2: Test compact() function : usage variations  - arrays containing references.
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : proto array compact(mixed var_names [, mixed ...])
        !             6: * Description: Creates a hash containing variables and their values
        !             7: * Source code: ext/standard/array.c
        !             8: * Alias to functions:
        !             9: */
        !            10: /*
        !            11: * compact variations - arrays with references
        !            12: */
        !            13: echo "*** Testing compact() : usage variations  - arrays containg references ***\n";
        !            14: $a = 1;
        !            15: $b = 2;
        !            16: $c = 3;
        !            17: $string = "c";
        !            18: $arr1 = array("a", &$arr1);
        !            19: $arr2 = array("a", array(array(array("b"))));
        !            20: $arr2[1][0][0][] = &$arr2;
        !            21: $arr2[1][0][0][] = &$arr2[1];
        !            22: $arr3 = array(&$string);
        !            23: var_dump(compact($arr1));
        !            24: var_dump(compact($arr2));
        !            25: var_dump(compact($arr3));
        !            26: echo "Done";
        !            27: ?>
        !            28: --EXPECTF--
        !            29: *** Testing compact() : usage variations  - arrays containg references ***
        !            30: 
        !            31: Warning: compact(): recursion detected in %s on line %d
        !            32: array(1) {
        !            33:   ["a"]=>
        !            34:   int(1)
        !            35: }
        !            36: 
        !            37: Warning: compact(): recursion detected in %s on line %d
        !            38: 
        !            39: Warning: compact(): recursion detected in %s on line %d
        !            40: 
        !            41: Warning: compact(): recursion detected in %s on line %d
        !            42: 
        !            43: Warning: compact(): recursion detected in %s on line %d
        !            44: array(2) {
        !            45:   ["a"]=>
        !            46:   int(1)
        !            47:   ["b"]=>
        !            48:   int(2)
        !            49: }
        !            50: array(1) {
        !            51:   ["c"]=>
        !            52:   int(3)
        !            53: }
        !            54: Done

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