我正在尝试创建一个具有以下层的php对象。
$obj->property->name;
$obj->property->title;
$obj->property->id;
$obj->property->height;
它给了我' Trying to get property of non-object
' 错误
我的对象
$obj = [
'property' => [
'name' => 'Rick',
'title' => 'manager',
'id' => '123',
'height' => '5.6'
]
];
$obj = = (object)$obj;
我不确定生成$obj->property->name;
的正确语法 谁能帮我?我的大脑被点燃了。谢谢!
你也应该投射到object
property
:
$obj = [
'property' => [
'name' => 'Rick',
'title' => 'manager',
'id' => '123',
'height' => '5.6'
]
];
$object = (object)$obj;
$object->property = (object)$object->property;
结果:
var_dump($object->property->id); // string(3) "123"
var_dump($object->property->name); // string(4) "Rick"
// etc.
你在property object
里面有一个数组,你不能那样使用
$obj->property->name;
这应该是:
$obj->property['name'];
例:
$yourArr = array('property'=>array(
'name' => 'Rick',
'title' => 'manager',
'id' => '123',
'height' => '5.6'
));
$yourObj = (object) $yourArr;
echo $yourObj->property['name']; // Rick