PHP将对象属性替换为其数据


PHP replace object property with its data

在PHP中,有没有任何方法(容易)递归地替换对象属性及其内容?

我想通过这个对象递归地删除"data"属性。所以它不是一个"中间人"

这样我就不必打$foo->data->bar->data->id,我可以打$foo->bar->id

object(stdClass)[251]
  public 'data' => 
    object(stdClass)[224]
      public 'id' => string '1730e209-0cbf-4598-8e5a-c5ca8469e8b9' (length=36)
      public 'level_id' => string '12cada4e-0874-490e-adce-b58700244446' (length=36)
      public 'level' => 
        object(stdClass)[250]
          public 'data' => 
            object(stdClass)[252]
              ...

object(stdClass)[251]
    public 'id' => string '1730e209-0cbf-4598-8e5a-c5ca8469e8b9' (length=36)
    public 'level_id' => string '12cada4e-0874-490e-adce-b58700244446' (length=36)
    public 'level' => 
      object(stdClass)[250]
          ...

这就是您想要的吗?我不确定,但是,无论如何。。。

foreach ($foo->data as $d){
  $id = $d->bar->data->id;
  ... // do what you should here with $d children
}