Return to compact_variation1.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
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