php 对象关联数组

标签 php class object associative-array

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

谢谢

最佳答案

只需阅读错误消息:如果已经存在条目,则仅创建 UserLogsAndSOS - 否则,您将在 null 上调用 addATravelog。 也许你忘记了“!”在你的 if 子句中?

关于php 对象关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12282527/

相关文章:

php - 我如何使排序系统取决于字符

php - 使用特定列中的值替换第一级数组键

python - Tensorflow 在类方法调用上设置图形/ session 上下文

php - 如何为laravel本地存储生成临时文件下载url?

php - updateOrCreate 在 laravel 中导致 ErrorException

c# - 构造函数限制

IOS 应用程序中的 C++ 类,Xcode 5

javascript - 如何使用字符串作为选择器在对象中设置数据?

javascript - 如何在 Javascript 中迭代嵌套对象数组

java - 某些代码有问题...?