Annotation of embedaddon/php/ext/standard/tests/array/compact_variation1.phpt, revision 1.1.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>