如何创建嵌套的 php 对象


How to create nested php objects

我正在尝试创建一个具有以下层的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