动态对象属性


Dynamic object properties

我有一个问题,是否可以为这样的对象添加动态属性

private function get_invoice_info($data, array $rel)
{
    foreach ($data as $info)
    {
        foreach($rel as $val)
        {
           $info->$val->$val->etc;
        }
    }
    return $value;
}

问题是,对象属性可以是一个对象,并且有自己的属性或关系。

如CCD_ 1和CCD_。

如果对象还不存在,则需要创建它们:

$info->$foo = new stdClass;
$info->$foo->$bar = new stdClass;
$info->$foo->$bar->$baz = 42;

但是我不认为简单地使用数组有什么意义。stdClass对象并没有真正给你带来任何优势,数组可以隐式创建到无限深度:

$info[$foo][$bar][$baz] = 42;