php对象关联数组
我试图从以成员id为键的行结果集中创建对象的关联数组,但出现了一些错误 addATravelog()只是UserLogsAndSOS()类的一个函数,我希望数组中包含该类的对象 以下是我尝试过的: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()) {
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欢迎您,请将问题标记为已解决,祝您度过愉快的一天