Annotation of embedaddon/php/ext/standard/tests/class_object/get_object_vars_variation_002.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: get_object_vars() - ensure references are preserved
3: --FILE--
4: <?php
5: /* Prototype : proto array get_object_vars(object obj)
6: * Description: Returns an array of object properties
7: * Source code: Zend/zend_builtin_functions.c
8: * Alias to functions:
9: */
10:
11: $obj = new stdClass;
12: var_dump(get_object_vars($obj));
13:
14: $a='original.a';
15: $obj->ref = &$a;
16: $obj->val = $a;
17:
18: $arr = get_object_vars($obj);
19: var_dump($arr);
20:
21: $arr['ref'] = 'changed.ref';
22: $arr['val'] = 'changed.val';
23:
24: var_dump($arr, $obj, $a);
25: ?>
26: --EXPECTF--
27: array(0) {
28: }
29: array(2) {
30: ["ref"]=>
31: &string(10) "original.a"
32: ["val"]=>
33: string(10) "original.a"
34: }
35: array(2) {
36: ["ref"]=>
37: &string(11) "changed.ref"
38: ["val"]=>
39: string(11) "changed.val"
40: }
41: object(stdClass)#1 (2) {
42: ["ref"]=>
43: &string(11) "changed.ref"
44: ["val"]=>
45: string(10) "original.a"
46: }
47: string(11) "changed.ref"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>