1--TEST--
2get_object_vars() no-declared/declared discrepancies
3--FILE--
4<?php
5
6class Test {
7    public $prop;
8}
9
10// Using ArrayObject here to get around property name restrictions
11
12$obj = new stdClass;
13$ao = new ArrayObject($obj);
14$ao["\0A\0b"] = 42;
15$ao["\0*\0b"] = 24;
16$ao[12] = 6;
17var_dump(get_object_vars($obj));
18
19$obj = new Test;
20$ao = new ArrayObject($obj);
21$ao["\0A\0b"] = 42;
22$ao["\0*\0b"] = 24;
23$ao[12] = 6;
24var_dump(get_object_vars($obj));
25
26?>
27--EXPECT--
28array(3) {
29  ["�A�b"]=>
30  int(42)
31  ["�*�b"]=>
32  int(24)
33  [12]=>
34  int(6)
35}
36array(4) {
37  ["prop"]=>
38  NULL
39  ["�A�b"]=>
40  int(42)
41  ["�*�b"]=>
42  int(24)
43  [12]=>
44  int(6)
45}
46