我正在尝试从以成员 id 作为键的行结果集中创建关联的对象数组,但出现了一些错误。
addATravelog() 只是 UserLogsAndSOS() 类的一个函数,我想要它的对象在数组中。
这是我尝试过的:
class UserArraySet {
private $arrayOfUsers = array();
function createArrayForTravelogs($result) {
While($row = $result->next()) {
if(array_key_exists($row['id'], $this->arrayOfUsers)) {
$this->arrayOfUsers[$row['id']] = new UserLogsAndSOS();
}
$this->arrayOfUsers[$row['id']]->addATravelog($row['title'], $row['blog']); //line 72
}
}
}
在从对象调用 createArrayForTravelogs() 时出现以下错误这是我得到的错误:
Notice: Undefined index: 1 in C:\xampp\htdocs\site\classes\userprofile.php on line 72
Fatal error: Call to a member function addATravelog() on a non-object in C:\xampp\htdocs\site\classes\userprofile.php on line 72
有人可以让我知道如何实现这一点,我想要这样的东西:
Array (
[1] => objectUserLogsAndSOS1
[5] => objectUserLogsAndSOS2
....
)
其中 key 是 $row 中的成员 ID。我还需要检查密钥是否存在,然后调用该特定对象的函数以将数据添加到其成员,如果不存在则创建一个对象,然后调用该特定对象的函数以将数据添加到其成员。
谢谢