1

假设您有这个包含对象的数组:

array
0 => 
object(User\Entity\User)[297]
  public 'id' => int 1
  private 'first_name' => string 'Peter' (length=5)
  private 'last_name' => string 'Johnson' (length=7)
  private 'initials' => string 'J.J.' (length=4)
  private 'email' => string 'test@gmail.com' (length=21)
 1 => 
object(User\Entity\User)[296]
  public 'id' => int 2 
  private 'first_name' => string 'Edith' (length=8)
  private 'last_name' => string 'Peters' (length=7)
  private 'initials' => string 'R.J.' (length=4)
  private 'email' => string 'edit@gmail.com' (length=26)

现在我想把它们放在一张桌子上。但是因为我想让它通用,所以我尝试以一种抽象的方式来做。

我在下面的函数中有一个 $aColnames 数组,以便能够只显示获取我想在表中看到的字段的值。

这是我正在尝试构建的方法:

private function generateTable()
{

    foreach($this->aData as $aData){
      $this->sTable.= '<tr>';
      foreach($this->aColnames as $sColname){
          $this->sTable.= '<td>';
/****What code goes here ****/
              $this->sTable.= '</td>';
      }
          $this->sTable.= '</tr>';
        }
    }

问题是我如何从对象中获取值?我每次都需要实例化对象吗?谁能帮帮我?

4

1 回答 1

1

不,您不需要再次实例化对象。当您首先将它们放在数组中时,它们会被实例化!

但是,您需要将这些变量声明为 public,以便可以访问它们,或者具有某种 getter 函数。

于 2012-04-26T18:54:46.393 回答