<?php
class U {
public $id;
public $name;
}
$a = ['id' => 123, 'name' => 'Me'];
$o = (object)$a;
var_dump($o);
$a0 = new ArrayObject($a);
$a1 = new ArrayObject($a, ArrayObject::STD_PROP_LIST);
$a2 = new ArrayObject($a, ArrayObject::ARRAY_AS_PROPS);
$a3 = new ArrayObject($a, ArrayObject::STD_PROP_LIST | ArrayObject::ARRAY_AS_PROPS);
$a3x = new ArrayObject($a, ArrayObject::STD_PROP_LIST & ArrayObject::ARRAY_AS_PROPS);
var_dump($a0);
var_dump($a0->name);
var_dump($a1->name);
var_dump($a2->name);
var_dump($a3->name);
var_dump($a3x->name);
- Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- object(stdClass)#1 (2) {
["id"]=>
int(123)
["name"]=>
string(2) "Me"
}
object(ArrayObject)#2 (1) {
["storage":"ArrayObject":private]=>
array(2) {
["id"]=>
int(123)
["name"]=>
string(2) "Me"
}
}
Warning: Undefined property: ArrayObject::$name in /in/dAXjk on line 18
NULL
Warning: Undefined property: ArrayObject::$name in /in/dAXjk on line 19
NULL
string(2) "Me"
string(2) "Me"
Warning: Undefined property: ArrayObject::$name in /in/dAXjk on line 22
NULL
- Output for 5.6.0 - 5.6.27, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.31, 7.4.0 - 7.4.33
- object(stdClass)#1 (2) {
["id"]=>
int(123)
["name"]=>
string(2) "Me"
}
object(ArrayObject)#2 (1) {
["storage":"ArrayObject":private]=>
array(2) {
["id"]=>
int(123)
["name"]=>
string(2) "Me"
}
}
Notice: Undefined property: ArrayObject::$name in /in/dAXjk on line 18
NULL
Notice: Undefined property: ArrayObject::$name in /in/dAXjk on line 19
NULL
string(2) "Me"
string(2) "Me"
Notice: Undefined property: ArrayObject::$name in /in/dAXjk on line 22
NULL
- Output for 7.3.32 - 7.3.33
- object(stdClass)#1 (2) {
["id"]=>
int(123)
["name"]=>
string(2) "Me"
}
object(ArrayObject)#2 (1) {
["storage":"ArrayObject":private]=>
array(2) {
["id"]=>
int(123)
["name"]=>
string(2) "Me"
}
}
NULL
NULL
string(2) "Me"
string(2) "Me"
NULL
preferences:
172.43 ms | 402 KiB | 188 Q