我正在尝试将包含来自 sql 结果集中的元素的对象推送到数组中。我的代码是这样的:
$data = array();
$sql = "SELECT id,type,name,username FROM users";
foreach ($conn->query($sql) as $row) {
$this->set_id($row['id']);
$this->set_type($row['type']);
$this->set_username($row['username']);
$this->set_password($row['password']);
$data[] = $this;
}
我的结果集是正确的,但是在 foreach 循环结束后,我的数组单元格被最后一个记录集中的值覆盖了。例如,如果我有这些结果{1,'type1','user','pass'}
,{2,'type2','foo','bar'}
当我$data
在循环之外打印我的数组时,我只会得到第二个结果集重复两次。我究竟做错了什么?