如何在php中向数组添加对象?

时间:2011-12-06 18:32:02

标签: php oop

我想在一个对象(处理程序)中创建一个数组,该数组包含PHP中的一系列对象(主题)。数组是处理程序的属性,我有一个创建新主题的方法。

class MyHandler (
  $TheList = array();
  $TempSubject = object; // class subject

  public function AddNewSubject($information) {
    $TempSubject = new subject($information);
    $This->TheList [] = $TempSubject;
  }
)

如果我按上述方式创建新主题,那么信息持久对象是否会在MyHandler内持续存在,还是会在AddNewSubject结束后丢失?我是PHP的新手,所以请评论任何错误。

4 个答案:

答案 0 :(得分:6)

它会持续存在,但你有一个错字$This ..应该是$this

答案 1 :(得分:1)

回答你的问题是对象将在课堂上持续存在

class MyHandler (
     public $TheList = array();

     public function AddNewSubject($information) {
          $this->TheList[] = new subject($information);
     }
)

答案 2 :(得分:0)

您应该使用array_push方法,请在此处查看: http://php.net/manual/en/function.array-push.php

答案 3 :(得分:0)

对象方法中的

$TempSubject只是一个临时变量。但是,如果你要定义你的函数:

public function AddNewSubject($information) {
  $this->TempSubject = new subject($information);
  $this->TheList [] = $this->TempSubject;
}

然后每次都会更新对象的属性($this->TempSubject),但该对象的副本将存储在$this->TheList中。

最后,如果你要定义你的函数:

public function AddNewSubject($information) {
  $this->TempSubject = new subject($information);
  $this->TheList [] =& $this->TempSubject;
}

你会发现$this->TheList将包含一个对同一个对象的引用列表,每次调用该函数时都会被覆盖。

我希望有所帮助。