【发布时间】:2012-08-30 05:41:36
【问题描述】:
我正在尝试从以成员 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。 我还需要检查密钥是否存在,然后调用该特定对象的函数将数据添加到其成员,如果不存在则创建一个对象,然后调用该特定对象的函数将数据添加到其成员。
谢谢
【问题讨论】:
标签: php class object associative-array