php对象关联数组

php对象关联数组,php,class,object,associative-array,Php,Class,Object,Associative Array,我试图从以成员id为键的行结果集中创建对象的关联数组,但出现了一些错误 addATravelog()只是UserLogsAndSOS()类的一个函数,我希望数组中包含该类的对象 以下是我尝试过的: class UserArraySet { private $arrayOfUsers = array(); function createArrayForTravelogs($result) { While($row = $result->next()) {

我试图从以成员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。 我还需要检查键是否存在,然后调用该特定对象的函数向其成员添加数据,如果不存在,则创建一个对象,然后调用该特定对象的函数向其成员添加数据


谢谢,请阅读错误消息:只有在已经有条目的情况下才创建userlogsandso,否则调用addATravelog on null。 也许你忘记了if子句中的“!”了

if(!array_key_exists($row['id'], $this->arrayOfUsers)) {
   $this->arrayOfUsers[$row['id']] = new UserLogsAndSOS();
}
你错过了,还有“!”我认为这是造成错误的原因


因为数组保持为空

只有当
ArrayFuser
中已存在具有所提供ID的元素时,才能创建新的
UserLogsAndSOS
。与你可能想要的正好相反


您可能缺少一个
以反转
数组\u键\u存在
结果。

Oops!浪费了一整天,整天在谷歌上搜索。。Thanx Del欢迎您,请将问题标记为已解决,祝您度过愉快的一天