从数组中获取PHP类属性

从数组中获取PHP类属性,php,arrays,class,object,Php,Arrays,Class,Object,我有一个数组,看起来像这样: Array ( [0] => my_val_one [1] => my_val_two ) stdClass Object ( [id] => 123123 [name] => my_name [my_val_one] => stdClass Object ( [my_val_two] => 1

我有一个数组,看起来像这样:

Array
(
    [0] => my_val_one
    [1] => my_val_two
)
   stdClass Object
    (
        [id] => 123123
        [name] => my_name
        [my_val_one] => stdClass Object
            (
                [my_val_two] => 1
                [my_val_three] => 2323
                [my_val_four] => 546567
            )
    )
然后我有一个物体看起来像这样:

Array
(
    [0] => my_val_one
    [1] => my_val_two
)
   stdClass Object
    (
        [id] => 123123
        [name] => my_name
        [my_val_one] => stdClass Object
            (
                [my_val_two] => 1
                [my_val_three] => 2323
                [my_val_four] => 546567
            )
    )
我要引用以下对象值:

$ob->my_val_one->my_val-two
我不确定如何从我拥有的数组值中引用该类属性。

帮助:

$path = ['my_val_one', 'my_val_two'];

$value = array_reduce($path, function ($o, $p) { return $o->$p; }, $ob);
这里有帮助:

$path = ['my_val_one', 'my_val_two'];

$value = array_reduce($path, function ($o, $p) { return $o->$p; }, $ob);

如果我理解正确,您希望使用第一个数组的字符串值来访问StdClass对象。可以通过动态访问属性来实现这一点。这里,
$obj
是StdClass,
$arr
是您的数组

$obj->{$arr[0]}->{$arr[1]}

如果我理解正确,您希望使用第一个数组的字符串值来访问StdClass对象。可以通过动态访问属性来实现这一点。这里,
$obj
是StdClass,
$arr
是您的数组

$obj->{$arr[0]}->{$arr[1]}

你能再解释一下你想要实现什么吗?数组与对象(?)的关系如何。当这是两个数组值时,为什么要执行
my\u val\u one->my\u val-two
?这没有任何意义。首先,你能给我们一些背景知识来解释你为什么需要这个吗?考虑到你更新的帖子,
$ob->my_val\u one->my_val-two
不起作用吗?你能再解释一下,你想实现什么吗?数组如何与对象相关(?)。当这是两个数组值时,为什么要执行
my\u val\u one->my\u val-two
?这没有任何意义。你能给我们一些背景资料来说明你为什么需要这个吗?考虑到你更新的帖子,
$ob->my\u val\u one->my\u val-two
不起作用吗?马上!这正是我想要的。我不知道关于数组的事。我现在就走,试着去理解它!完全正确这正是我想要的。我不知道关于数组的事。我现在就走,试着去理解它!